linear_algebra.determinantMathlib.LinearAlgebra.Determinant

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)

(last sync)

feat(linear_algebra/orientation): add orientation.reindex (#19236)
Diff
@@ -559,6 +559,11 @@ lemma basis.det_reindex {ι' : Type*} [fintype ι'] [decidable_eq ι']
   (b.reindex e).det v = b.det (v ∘ e) :=
 by rw [basis.det_apply, basis.to_matrix_reindex', det_reindex_alg_equiv, basis.det_apply]
 
+lemma basis.det_reindex' {ι' : Type*} [fintype ι'] [decidable_eq ι']
+  (b : basis ι R M) (e : ι ≃ ι') :
+  (b.reindex e).det = b.det.dom_dom_congr e :=
+alternating_map.ext $ λ _, basis.det_reindex _ _ _
+
 lemma basis.det_reindex_symm {ι' : Type*} [fintype ι'] [decidable_eq ι']
   (b : basis ι R M) (v : ι → M) (e : ι' ≃ ι) :
   (b.reindex e.symm).det (v ∘ e) = b.det v :=

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

chore(linear_algebra/alternating): make ι an explicit arg of alternating_map.const_of_is_empty (#19123)

While for general multilinear maps one can deduce it from the type of E : ι -> Type*, this doesn't work for alternating maps.

Diff
@@ -480,7 +480,7 @@ lemma basis.det_apply (v : ι → M) : e.det v = det (e.to_matrix v) := rfl
 lemma basis.det_self : e.det e = 1 :=
 by simp [e.det_apply]
 
-@[simp] lemma basis.det_is_empty [is_empty ι] : e.det = alternating_map.const_of_is_empty R M 1 :=
+@[simp] lemma basis.det_is_empty [is_empty ι] : e.det = alternating_map.const_of_is_empty R M ι 1 :=
 begin
   ext v,
   exact matrix.det_is_empty,

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(first ported)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -406,7 +406,7 @@ theorem finiteDimensional_of_det_ne_one {𝕜 : Type _} [Field 𝕜] [Module 
   · rcases H with ⟨s, ⟨hs⟩⟩; exact FiniteDimensional.of_fintype_basis hs
   ·
     classical
-    simp [LinearMap.coe_det, H] at hf 
+    simp [LinearMap.coe_det, H] at hf
     exact hf.elim
 #align linear_map.finite_dimensional_of_det_ne_one LinearMap.finiteDimensional_of_det_ne_one
 -/
@@ -418,7 +418,7 @@ theorem range_lt_top_of_det_eq_zero {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M]
   by
   have : FiniteDimensional 𝕜 M := by simp [f.finite_dimensional_of_det_ne_one, hf]
   contrapose hf
-  simp only [lt_top_iff_ne_top, Classical.not_not, ← is_unit_iff_range_eq_top] at hf 
+  simp only [lt_top_iff_ne_top, Classical.not_not, ← is_unit_iff_range_eq_top] at hf
   exact isUnit_iff_ne_zero.1 (f.is_unit_det hf)
 #align linear_map.range_lt_top_of_det_eq_zero LinearMap.range_lt_top_of_det_eq_zero
 -/
@@ -430,7 +430,7 @@ theorem bot_lt_ker_of_det_eq_zero {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] {
   by
   have : FiniteDimensional 𝕜 M := by simp [f.finite_dimensional_of_det_ne_one, hf]
   contrapose hf
-  simp only [bot_lt_iff_ne_bot, Classical.not_not, ← is_unit_iff_ker_eq_bot] at hf 
+  simp only [bot_lt_iff_ne_bot, Classical.not_not, ← is_unit_iff_ker_eq_bot] at hf
   exact isUnit_iff_ne_zero.1 (f.is_unit_det hf)
 #align linear_map.bot_lt_ker_of_det_eq_zero LinearMap.bot_lt_ker_of_det_eq_zero
 -/
@@ -665,7 +665,7 @@ theorem is_basis_iff_det {v : ι → M} :
     ext i j
     simp
   · intro h
-    rw [Basis.det_apply, Basis.toMatrix_eq_toMatrix_constr] at h 
+    rw [Basis.det_apply, Basis.toMatrix_eq_toMatrix_constr] at h
     set v' := Basis.map e (LinearEquiv.ofIsUnitDet h) with v'_def
     have : ⇑v' = v := by ext i;
       rw [v'_def, Basis.map_apply, LinearEquiv.ofIsUnitDet_apply, e.constr_basis]
Diff
@@ -311,7 +311,10 @@ theorem det_smul {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCommGroup M] [Mod
       exact FiniteDimensional.of_fintype_basis hs
     simp only [← det_to_matrix (FiniteDimensional.finBasis 𝕜 M), LinearEquiv.map_smul,
       Fintype.card_fin, det_smul]
-  · classical
+  ·
+    classical
+    have : FiniteDimensional.finrank 𝕜 M = 0 := finrank_eq_zero_of_not_exists_basis H
+    simp [coe_det, H, this]
 #align linear_map.det_smul LinearMap.det_smul
 -/
 
@@ -347,7 +350,14 @@ theorem det_eq_one_of_subsingleton [Subsingleton M] (f : M →ₗ[R] M) : (f : M
 #print LinearMap.det_eq_one_of_finrank_eq_zero /-
 theorem det_eq_one_of_finrank_eq_zero {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCommGroup M]
     [Module 𝕜 M] (h : FiniteDimensional.finrank 𝕜 M = 0) (f : M →ₗ[𝕜] M) :
-    (f : M →ₗ[𝕜] M).det = 1 := by classical
+    (f : M →ₗ[𝕜] M).det = 1 := by
+  classical
+  refine' @LinearMap.det_cases M _ 𝕜 _ _ _ (fun t => t = 1) f _ rfl
+  intro s b
+  have : IsEmpty s := by
+    rw [← Fintype.card_eq_zero_iff]
+    exact (FiniteDimensional.finrank_eq_card_basis b).symm.trans h
+  exact Matrix.det_isEmpty
 #align linear_map.det_eq_one_of_finrank_eq_zero LinearMap.det_eq_one_of_finrank_eq_zero
 -/
 
@@ -355,7 +365,24 @@ theorem det_eq_one_of_finrank_eq_zero {𝕜 : Type _} [Field 𝕜] {M : Type _}
 /-- Conjugating a linear map by a linear equiv does not change its determinant. -/
 @[simp]
 theorem det_conj {N : Type _} [AddCommGroup N] [Module A N] (f : M →ₗ[A] M) (e : M ≃ₗ[A] N) :
-    LinearMap.det ((e : M →ₗ[A] N) ∘ₗ f ∘ₗ (e.symm : N →ₗ[A] M)) = LinearMap.det f := by classical
+    LinearMap.det ((e : M →ₗ[A] N) ∘ₗ f ∘ₗ (e.symm : N →ₗ[A] M)) = LinearMap.det f := by
+  classical
+  by_cases H : ∃ s : Finset M, Nonempty (Basis s A M)
+  · rcases H with ⟨s, ⟨b⟩⟩
+    rw [← det_to_matrix b f, ← det_to_matrix (b.map e), to_matrix_comp (b.map e) b (b.map e),
+      to_matrix_comp (b.map e) b b, ← Matrix.mul_assoc, Matrix.det_conj_of_mul_eq_one]
+    ·
+      rw [← to_matrix_comp, LinearEquiv.comp_coe, e.symm_trans_self, LinearEquiv.refl_toLinearMap,
+        to_matrix_id]
+    ·
+      rw [← to_matrix_comp, LinearEquiv.comp_coe, e.self_trans_symm, LinearEquiv.refl_toLinearMap,
+        to_matrix_id]
+  · have H' : ¬∃ t : Finset N, Nonempty (Basis t A N) :=
+      by
+      contrapose! H
+      rcases H with ⟨s, ⟨b⟩⟩
+      exact ⟨_, ⟨(b.map e.symm).reindexFinsetRange⟩⟩
+    simp only [coe_det, H, H', Pi.one_apply, dif_neg, not_false_iff]
 #align linear_map.det_conj LinearMap.det_conj
 -/
 
@@ -377,7 +404,10 @@ theorem finiteDimensional_of_det_ne_one {𝕜 : Type _} [Field 𝕜] [Module 
   by
   by_cases H : ∃ s : Finset M, Nonempty (Basis s 𝕜 M)
   · rcases H with ⟨s, ⟨hs⟩⟩; exact FiniteDimensional.of_fintype_basis hs
-  · classical
+  ·
+    classical
+    simp [LinearMap.coe_det, H] at hf 
+    exact hf.elim
 #align linear_map.finite_dimensional_of_det_ne_one LinearMap.finiteDimensional_of_det_ne_one
 -/
 
Diff
@@ -311,10 +311,7 @@ theorem det_smul {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCommGroup M] [Mod
       exact FiniteDimensional.of_fintype_basis hs
     simp only [← det_to_matrix (FiniteDimensional.finBasis 𝕜 M), LinearEquiv.map_smul,
       Fintype.card_fin, det_smul]
-  ·
-    classical
-    have : FiniteDimensional.finrank 𝕜 M = 0 := finrank_eq_zero_of_not_exists_basis H
-    simp [coe_det, H, this]
+  · classical
 #align linear_map.det_smul LinearMap.det_smul
 -/
 
@@ -350,14 +347,7 @@ theorem det_eq_one_of_subsingleton [Subsingleton M] (f : M →ₗ[R] M) : (f : M
 #print LinearMap.det_eq_one_of_finrank_eq_zero /-
 theorem det_eq_one_of_finrank_eq_zero {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCommGroup M]
     [Module 𝕜 M] (h : FiniteDimensional.finrank 𝕜 M = 0) (f : M →ₗ[𝕜] M) :
-    (f : M →ₗ[𝕜] M).det = 1 := by
-  classical
-  refine' @LinearMap.det_cases M _ 𝕜 _ _ _ (fun t => t = 1) f _ rfl
-  intro s b
-  have : IsEmpty s := by
-    rw [← Fintype.card_eq_zero_iff]
-    exact (FiniteDimensional.finrank_eq_card_basis b).symm.trans h
-  exact Matrix.det_isEmpty
+    (f : M →ₗ[𝕜] M).det = 1 := by classical
 #align linear_map.det_eq_one_of_finrank_eq_zero LinearMap.det_eq_one_of_finrank_eq_zero
 -/
 
@@ -365,24 +355,7 @@ theorem det_eq_one_of_finrank_eq_zero {𝕜 : Type _} [Field 𝕜] {M : Type _}
 /-- Conjugating a linear map by a linear equiv does not change its determinant. -/
 @[simp]
 theorem det_conj {N : Type _} [AddCommGroup N] [Module A N] (f : M →ₗ[A] M) (e : M ≃ₗ[A] N) :
-    LinearMap.det ((e : M →ₗ[A] N) ∘ₗ f ∘ₗ (e.symm : N →ₗ[A] M)) = LinearMap.det f := by
-  classical
-  by_cases H : ∃ s : Finset M, Nonempty (Basis s A M)
-  · rcases H with ⟨s, ⟨b⟩⟩
-    rw [← det_to_matrix b f, ← det_to_matrix (b.map e), to_matrix_comp (b.map e) b (b.map e),
-      to_matrix_comp (b.map e) b b, ← Matrix.mul_assoc, Matrix.det_conj_of_mul_eq_one]
-    ·
-      rw [← to_matrix_comp, LinearEquiv.comp_coe, e.symm_trans_self, LinearEquiv.refl_toLinearMap,
-        to_matrix_id]
-    ·
-      rw [← to_matrix_comp, LinearEquiv.comp_coe, e.self_trans_symm, LinearEquiv.refl_toLinearMap,
-        to_matrix_id]
-  · have H' : ¬∃ t : Finset N, Nonempty (Basis t A N) :=
-      by
-      contrapose! H
-      rcases H with ⟨s, ⟨b⟩⟩
-      exact ⟨_, ⟨(b.map e.symm).reindexFinsetRange⟩⟩
-    simp only [coe_det, H, H', Pi.one_apply, dif_neg, not_false_iff]
+    LinearMap.det ((e : M →ₗ[A] N) ∘ₗ f ∘ₗ (e.symm : N →ₗ[A] M)) = LinearMap.det f := by classical
 #align linear_map.det_conj LinearMap.det_conj
 -/
 
@@ -404,10 +377,7 @@ theorem finiteDimensional_of_det_ne_one {𝕜 : Type _} [Field 𝕜] [Module 
   by
   by_cases H : ∃ s : Finset M, Nonempty (Basis s 𝕜 M)
   · rcases H with ⟨s, ⟨hs⟩⟩; exact FiniteDimensional.of_fintype_basis hs
-  ·
-    classical
-    simp [LinearMap.coe_det, H] at hf 
-    exact hf.elim
+  · classical
 #align linear_map.finite_dimensional_of_det_ne_one LinearMap.finiteDimensional_of_det_ne_one
 -/
 
Diff
@@ -751,7 +751,7 @@ theorem Basis.det_reindex' {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (b : B
 #print Basis.det_reindex_symm /-
 theorem Basis.det_reindex_symm {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (b : Basis ι R M)
     (v : ι → M) (e : ι' ≃ ι) : (b.reindex e.symm).det (v ∘ e) = b.det v := by
-  rw [Basis.det_reindex, Function.comp.assoc, e.self_comp_symm, Function.comp.right_id]
+  rw [Basis.det_reindex, Function.comp.assoc, e.self_comp_symm, Function.comp_id]
 #align basis.det_reindex_symm Basis.det_reindex_symm
 -/
 
Diff
@@ -3,12 +3,12 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johannes Hölzl, Patrick Massot, Casper Putz, Anne Baanen
 -/
-import Mathbin.LinearAlgebra.FiniteDimensional
-import Mathbin.LinearAlgebra.GeneralLinearGroup
-import Mathbin.LinearAlgebra.Matrix.Reindex
-import Mathbin.Tactic.FieldSimp
-import Mathbin.LinearAlgebra.Matrix.NonsingularInverse
-import Mathbin.LinearAlgebra.Matrix.Basis
+import LinearAlgebra.FiniteDimensional
+import LinearAlgebra.GeneralLinearGroup
+import LinearAlgebra.Matrix.Reindex
+import Tactic.FieldSimp
+import LinearAlgebra.Matrix.NonsingularInverse
+import LinearAlgebra.Matrix.Basis
 
 #align_import linear_algebra.determinant from "leanprover-community/mathlib"@"0c1d80f5a86b36c1db32e021e8d19ae7809d5b79"
 
Diff
@@ -741,10 +741,12 @@ theorem Basis.det_reindex {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (b : Ba
 #align basis.det_reindex Basis.det_reindex
 -/
 
+#print Basis.det_reindex' /-
 theorem Basis.det_reindex' {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (b : Basis ι R M)
     (e : ι ≃ ι') : (b.reindex e).det = b.det.domDomCongr e :=
   AlternatingMap.ext fun _ => Basis.det_reindex _ _ _
 #align basis.det_reindex' Basis.det_reindex'
+-/
 
 #print Basis.det_reindex_symm /-
 theorem Basis.det_reindex_symm {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (b : Basis ι R M)
Diff
@@ -192,7 +192,7 @@ theorem detAux_id (b : Trunc <| Basis ι A M) : LinearMap.detAux b LinearMap.id
 @[simp]
 theorem detAux_comp (b : Trunc <| Basis ι A M) (f g : M →ₗ[A] M) :
     LinearMap.detAux b (f.comp g) = LinearMap.detAux b f * LinearMap.detAux b g :=
-  (LinearMap.detAux b).map_mul f g
+  (LinearMap.detAux b).map_hMul f g
 #align linear_map.det_aux_comp LinearMap.detAux_comp
 -/
 
@@ -289,7 +289,7 @@ theorem det_cases [DecidableEq M] {P : A → Prop} (f : M →ₗ[A] M)
 #print LinearMap.det_comp /-
 @[simp]
 theorem det_comp (f g : M →ₗ[A] M) : (f.comp g).det = f.det * g.det :=
-  LinearMap.det.map_mul f g
+  LinearMap.det.map_hMul f g
 #align linear_map.det_comp LinearMap.det_comp
 -/
 
Diff
@@ -10,7 +10,7 @@ import Mathbin.Tactic.FieldSimp
 import Mathbin.LinearAlgebra.Matrix.NonsingularInverse
 import Mathbin.LinearAlgebra.Matrix.Basis
 
-#align_import linear_algebra.determinant from "leanprover-community/mathlib"@"bd65478311e4dfd41f48bf38c7e3b02fb75d0163"
+#align_import linear_algebra.determinant from "leanprover-community/mathlib"@"0c1d80f5a86b36c1db32e021e8d19ae7809d5b79"
 
 /-!
 # Determinant of families of vectors
@@ -741,6 +741,11 @@ theorem Basis.det_reindex {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (b : Ba
 #align basis.det_reindex Basis.det_reindex
 -/
 
+theorem Basis.det_reindex' {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (b : Basis ι R M)
+    (e : ι ≃ ι') : (b.reindex e).det = b.det.domDomCongr e :=
+  AlternatingMap.ext fun _ => Basis.det_reindex _ _ _
+#align basis.det_reindex' Basis.det_reindex'
+
 #print Basis.det_reindex_symm /-
 theorem Basis.det_reindex_symm {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (b : Basis ι R M)
     (v : ι → M) (e : ι' ≃ ι) : (b.reindex e.symm).det (v ∘ e) = b.det v := by
Diff
@@ -2,11 +2,6 @@
 Copyright (c) 2019 Johannes Hölzl. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johannes Hölzl, Patrick Massot, Casper Putz, Anne Baanen
-
-! This file was ported from Lean 3 source module linear_algebra.determinant
-! leanprover-community/mathlib commit bd65478311e4dfd41f48bf38c7e3b02fb75d0163
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.LinearAlgebra.FiniteDimensional
 import Mathbin.LinearAlgebra.GeneralLinearGroup
@@ -15,6 +10,8 @@ import Mathbin.Tactic.FieldSimp
 import Mathbin.LinearAlgebra.Matrix.NonsingularInverse
 import Mathbin.LinearAlgebra.Matrix.Basis
 
+#align_import linear_algebra.determinant from "leanprover-community/mathlib"@"bd65478311e4dfd41f48bf38c7e3b02fb75d0163"
+
 /-!
 # Determinant of families of vectors
 
Diff
@@ -665,7 +665,7 @@ theorem is_basis_iff_det {v : ι → M} :
     set v' := Basis.mk hli hspan.ge with v'_eq
     rw [e.det_apply]
     convert LinearEquiv.isUnit_det (LinearEquiv.refl _ _) v' e using 2
-    ext (i j)
+    ext i j
     simp
   · intro h
     rw [Basis.det_apply, Basis.toMatrix_eq_toMatrix_constr] at h 
@@ -732,7 +732,7 @@ theorem Basis.det_comp_basis [Module A M'] (b : Basis ι A M) (b' : Basis ι A M
   by
   rw [Basis.det_apply, ← LinearMap.det_toMatrix b', LinearMap.toMatrix_comp _ b, Matrix.det_mul,
     LinearMap.toMatrix_basis_equiv, Matrix.det_one, mul_one]
-  congr 1; ext (i j)
+  congr 1; ext i j
   rw [Basis.toMatrix_apply, LinearMap.toMatrix_apply]
 #align basis.det_comp_basis Basis.det_comp_basis
 -/
Diff
@@ -76,24 +76,31 @@ variable {A : Type _} [CommRing A]
 
 variable {m n : Type _} [Fintype m] [Fintype n]
 
+#print equivOfPiLEquivPi /-
 /-- If `R^m` and `R^n` are linearly equivalent, then `m` and `n` are also equivalent. -/
 def equivOfPiLEquivPi {R : Type _} [CommRing R] [Nontrivial R] (e : (m → R) ≃ₗ[R] n → R) : m ≃ n :=
   Basis.indexEquiv (Basis.ofEquivFun e.symm) (Pi.basisFun _ _)
 #align equiv_of_pi_lequiv_pi equivOfPiLEquivPi
+-/
 
 namespace Matrix
 
+#print Matrix.indexEquivOfInv /-
 /-- If `M` and `M'` are each other's inverse matrices, they are square matrices up to
 equivalence of types. -/
 def indexEquivOfInv [Nontrivial A] [DecidableEq m] [DecidableEq n] {M : Matrix m n A}
     {M' : Matrix n m A} (hMM' : M ⬝ M' = 1) (hM'M : M' ⬝ M = 1) : m ≃ n :=
   equivOfPiLEquivPi (toLin'OfInv hMM' hM'M)
 #align matrix.index_equiv_of_inv Matrix.indexEquivOfInv
+-/
 
+#print Matrix.det_comm /-
 theorem det_comm [DecidableEq n] (M N : Matrix n n A) : det (M ⬝ N) = det (N ⬝ M) := by
   rw [det_mul, det_mul, mul_comm]
 #align matrix.det_comm Matrix.det_comm
+-/
 
+#print Matrix.det_comm' /-
 /-- If there exists a two-sided inverse `M'` for `M` (indexed differently),
 then `det (N ⬝ M) = det (M ⬝ N)`. -/
 theorem det_comm' [DecidableEq m] [DecidableEq n] {M : Matrix n m A} {N : Matrix m n A}
@@ -106,7 +113,9 @@ theorem det_comm' [DecidableEq m] [DecidableEq n] {M : Matrix n m A} {N : Matrix
   rw [← det_submatrix_equiv_self e, ← submatrix_mul_equiv _ _ _ (Equiv.refl n) _, det_comm,
     submatrix_mul_equiv, Equiv.coe_refl, submatrix_id_id]
 #align matrix.det_comm' Matrix.det_comm'
+-/
 
+#print Matrix.det_conj_of_mul_eq_one /-
 /-- If `M'` is a two-sided inverse for `M` (indexed differently), `det (M ⬝ N ⬝ M') = det N`.
 
 See `matrix.det_conj` and `matrix.det_conj'` for the case when `M' = M⁻¹` or vice versa. -/
@@ -115,6 +124,7 @@ theorem det_conj_of_mul_eq_one [DecidableEq m] [DecidableEq n] {M : Matrix m n A
     det (M ⬝ N ⬝ M') = det N := by
   rw [← det_comm' hM'M hMM', ← Matrix.mul_assoc, hM'M, Matrix.one_mul]
 #align matrix.det_conj_of_mul_eq_one Matrix.det_conj_of_mul_eq_one
+-/
 
 end Matrix
 
@@ -129,6 +139,7 @@ variable {A : Type _} [CommRing A] [Module A M]
 
 variable {κ : Type _} [Fintype κ]
 
+#print LinearMap.det_toMatrix_eq_det_toMatrix /-
 /-- The determinant of `linear_map.to_matrix` does not depend on the choice of basis. -/
 theorem det_toMatrix_eq_det_toMatrix [DecidableEq κ] (b : Basis ι A M) (c : Basis κ A M)
     (f : M →ₗ[A] M) : det (LinearMap.toMatrix b b f) = det (LinearMap.toMatrix c c f) := by
@@ -136,6 +147,7 @@ theorem det_toMatrix_eq_det_toMatrix [DecidableEq κ] (b : Basis ι A M) (c : Ba
       Matrix.det_conj_of_mul_eq_one] <;>
     rw [Basis.toMatrix_mul_toMatrix, Basis.toMatrix_self]
 #align linear_map.det_to_matrix_eq_det_to_matrix LinearMap.det_toMatrix_eq_det_toMatrix
+-/
 
 #print LinearMap.detAux /-
 /-- The determinant of an endomorphism given a basis.
@@ -154,6 +166,7 @@ irreducible_def detAux : Trunc (Basis ι A M) → (M →ₗ[A] M) →* A :=
 #align linear_map.det_aux LinearMap.detAux
 -/
 
+#print LinearMap.detAux_def' /-
 /-- Unfold lemma for `det_aux`.
 
 See also `det_aux_def'` which allows you to vary the basis.
@@ -161,23 +174,30 @@ See also `det_aux_def'` which allows you to vary the basis.
 theorem detAux_def' (b : Basis ι A M) (f : M →ₗ[A] M) :
     LinearMap.detAux (Trunc.mk b) f = Matrix.det (LinearMap.toMatrix b b f) := by rw [det_aux]; rfl
 #align linear_map.det_aux_def LinearMap.detAux_def'
+-/
 
+#print LinearMap.detAux_def'' /-
 theorem detAux_def'' {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (tb : Trunc <| Basis ι A M)
     (b' : Basis ι' A M) (f : M →ₗ[A] M) :
     LinearMap.detAux tb f = Matrix.det (LinearMap.toMatrix b' b' f) := by
   apply Trunc.induction_on tb; intro b; rw [det_aux_def, det_to_matrix_eq_det_to_matrix b b']
 #align linear_map.det_aux_def' LinearMap.detAux_def''
+-/
 
+#print LinearMap.detAux_id /-
 @[simp]
 theorem detAux_id (b : Trunc <| Basis ι A M) : LinearMap.detAux b LinearMap.id = 1 :=
   (LinearMap.detAux b).map_one
 #align linear_map.det_aux_id LinearMap.detAux_id
+-/
 
+#print LinearMap.detAux_comp /-
 @[simp]
 theorem detAux_comp (b : Trunc <| Basis ι A M) (f g : M →ₗ[A] M) :
     LinearMap.detAux b (f.comp g) = LinearMap.detAux b f * LinearMap.detAux b g :=
   (LinearMap.detAux b).map_mul f g
 #align linear_map.det_aux_comp LinearMap.detAux_comp
+-/
 
 section
 
@@ -196,6 +216,7 @@ protected irreducible_def det : (M →ₗ[A] M) →* A :=
 #align linear_map.det LinearMap.det
 -/
 
+#print LinearMap.coe_det /-
 theorem coe_det [DecidableEq M] :
     ⇑(LinearMap.det : (M →ₗ[A] M) →* A) =
       if H : ∃ s : Finset M, Nonempty (Basis s A M) then
@@ -208,9 +229,11 @@ theorem coe_det [DecidableEq M] :
   -- use the correct `decidable_eq` instance
   rfl
 #align linear_map.coe_det LinearMap.coe_det
+-/
 
 end
 
+#print LinearMap.det_eq_det_toMatrix_of_finset /-
 -- Auxiliary lemma, the `simp` normal form goes in the other direction
 -- (using `linear_map.det_to_matrix`)
 theorem det_eq_det_toMatrix_of_finset [DecidableEq M] {s : Finset M} (b : Basis s A M)
@@ -219,30 +242,40 @@ theorem det_eq_det_toMatrix_of_finset [DecidableEq M] {s : Finset M} (b : Basis
   have : ∃ s : Finset M, Nonempty (Basis s A M) := ⟨s, ⟨b⟩⟩
   rw [LinearMap.coe_det, dif_pos, det_aux_def' _ b] <;> assumption
 #align linear_map.det_eq_det_to_matrix_of_finset LinearMap.det_eq_det_toMatrix_of_finset
+-/
 
+#print LinearMap.det_toMatrix /-
 @[simp]
 theorem det_toMatrix (b : Basis ι A M) (f : M →ₗ[A] M) : Matrix.det (toMatrix b b f) = f.det :=
   by
   haveI := Classical.decEq M
   rw [det_eq_det_to_matrix_of_finset b.reindex_finset_range, det_to_matrix_eq_det_to_matrix b]
 #align linear_map.det_to_matrix LinearMap.det_toMatrix
+-/
 
+#print LinearMap.det_toMatrix' /-
 @[simp]
 theorem det_toMatrix' {ι : Type _} [Fintype ι] [DecidableEq ι] (f : (ι → A) →ₗ[A] ι → A) :
     det f.toMatrix' = f.det := by simp [← to_matrix_eq_to_matrix']
 #align linear_map.det_to_matrix' LinearMap.det_toMatrix'
+-/
 
+#print LinearMap.det_toLin /-
 @[simp]
 theorem det_toLin (b : Basis ι R M) (f : Matrix ι ι R) :
     LinearMap.det (Matrix.toLin b b f) = f.det := by
   rw [← LinearMap.det_toMatrix b, LinearMap.toMatrix_toLin]
 #align linear_map.det_to_lin LinearMap.det_toLin
+-/
 
+#print LinearMap.det_toLin' /-
 @[simp]
 theorem det_toLin' (f : Matrix ι ι R) : LinearMap.det f.toLin' = f.det := by
   simp only [← to_lin_eq_to_lin', det_to_lin]
 #align linear_map.det_to_lin' LinearMap.det_toLin'
+-/
 
+#print LinearMap.det_cases /-
 /-- To show `P f.det` it suffices to consider `P (to_matrix _ _ f).det` and `P 1`. -/
 @[elab_as_elim]
 theorem det_cases [DecidableEq M] {P : A → Prop} (f : M →ₗ[A] M)
@@ -254,17 +287,23 @@ theorem det_cases [DecidableEq M] {P : A → Prop} (f : M →ₗ[A] M)
     apply det_aux_def'
   · exact h1
 #align linear_map.det_cases LinearMap.det_cases
+-/
 
+#print LinearMap.det_comp /-
 @[simp]
 theorem det_comp (f g : M →ₗ[A] M) : (f.comp g).det = f.det * g.det :=
   LinearMap.det.map_mul f g
 #align linear_map.det_comp LinearMap.det_comp
+-/
 
+#print LinearMap.det_id /-
 @[simp]
 theorem det_id : (LinearMap.id : M →ₗ[A] M).det = 1 :=
   LinearMap.det.map_one
 #align linear_map.det_id LinearMap.det_id
+-/
 
+#print LinearMap.det_smul /-
 /-- Multiplying a map by a scalar `c` multiplies its determinant by `c ^ dim M`. -/
 @[simp]
 theorem det_smul {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCommGroup M] [Module 𝕜 M] (c : 𝕜)
@@ -280,14 +319,18 @@ theorem det_smul {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCommGroup M] [Mod
     have : FiniteDimensional.finrank 𝕜 M = 0 := finrank_eq_zero_of_not_exists_basis H
     simp [coe_det, H, this]
 #align linear_map.det_smul LinearMap.det_smul
+-/
 
+#print LinearMap.det_zero' /-
 theorem det_zero' {ι : Type _} [Finite ι] [Nonempty ι] (b : Basis ι A M) :
     LinearMap.det (0 : M →ₗ[A] M) = 0 :=
   by
   haveI := Classical.decEq ι; cases nonempty_fintype ι
   rwa [← det_to_matrix b, LinearEquiv.map_zero, det_zero]
 #align linear_map.det_zero' LinearMap.det_zero'
+-/
 
+#print LinearMap.det_zero /-
 /-- In a finite-dimensional vector space, the zero map has determinant `1` in dimension `0`,
 and `0` otherwise. We give a formula that also works in infinite dimension, where we define
 the determinant to be `1`. -/
@@ -296,14 +339,18 @@ theorem det_zero {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCommGroup M] [Mod
     LinearMap.det (0 : M →ₗ[𝕜] M) = (0 : 𝕜) ^ FiniteDimensional.finrank 𝕜 M := by
   simp only [← zero_smul 𝕜 (1 : M →ₗ[𝕜] M), det_smul, mul_one, MonoidHom.map_one]
 #align linear_map.det_zero LinearMap.det_zero
+-/
 
+#print LinearMap.det_eq_one_of_subsingleton /-
 theorem det_eq_one_of_subsingleton [Subsingleton M] (f : M →ₗ[R] M) : (f : M →ₗ[R] M).det = 1 :=
   by
   have b : Basis (Fin 0) R M := Basis.empty M
   rw [← f.det_to_matrix b]
   exact Matrix.det_isEmpty
 #align linear_map.det_eq_one_of_subsingleton LinearMap.det_eq_one_of_subsingleton
+-/
 
+#print LinearMap.det_eq_one_of_finrank_eq_zero /-
 theorem det_eq_one_of_finrank_eq_zero {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCommGroup M]
     [Module 𝕜 M] (h : FiniteDimensional.finrank 𝕜 M = 0) (f : M →ₗ[𝕜] M) :
     (f : M →ₗ[𝕜] M).det = 1 := by
@@ -315,7 +362,9 @@ theorem det_eq_one_of_finrank_eq_zero {𝕜 : Type _} [Field 𝕜] {M : Type _}
     exact (FiniteDimensional.finrank_eq_card_basis b).symm.trans h
   exact Matrix.det_isEmpty
 #align linear_map.det_eq_one_of_finrank_eq_zero LinearMap.det_eq_one_of_finrank_eq_zero
+-/
 
+#print LinearMap.det_conj /-
 /-- Conjugating a linear map by a linear equiv does not change its determinant. -/
 @[simp]
 theorem det_conj {N : Type _} [AddCommGroup N] [Module A N] (f : M →ₗ[A] M) (e : M ≃ₗ[A] N) :
@@ -338,7 +387,9 @@ theorem det_conj {N : Type _} [AddCommGroup N] [Module A N] (f : M →ₗ[A] M)
       exact ⟨_, ⟨(b.map e.symm).reindexFinsetRange⟩⟩
     simp only [coe_det, H, H', Pi.one_apply, dif_neg, not_false_iff]
 #align linear_map.det_conj LinearMap.det_conj
+-/
 
+#print LinearMap.isUnit_det /-
 /-- If a linear map is invertible, so is its determinant. -/
 theorem isUnit_det {A : Type _} [CommRing A] [Module A M] (f : M →ₗ[A] M) (hf : IsUnit f) :
     IsUnit f.det := by
@@ -347,7 +398,9 @@ theorem isUnit_det {A : Type _} [CommRing A] [Module A M] (f : M →ₗ[A] M) (h
     simp only [← LinearMap.det_comp, hg, MonoidHom.map_one]
   exact isUnit_of_mul_eq_one _ _ this
 #align linear_map.is_unit_det LinearMap.isUnit_det
+-/
 
+#print LinearMap.finiteDimensional_of_det_ne_one /-
 /-- If a linear map has determinant different from `1`, then the space is finite-dimensional. -/
 theorem finiteDimensional_of_det_ne_one {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] (f : M →ₗ[𝕜] M)
     (hf : f.det ≠ 1) : FiniteDimensional 𝕜 M :=
@@ -359,7 +412,9 @@ theorem finiteDimensional_of_det_ne_one {𝕜 : Type _} [Field 𝕜] [Module 
     simp [LinearMap.coe_det, H] at hf 
     exact hf.elim
 #align linear_map.finite_dimensional_of_det_ne_one LinearMap.finiteDimensional_of_det_ne_one
+-/
 
+#print LinearMap.range_lt_top_of_det_eq_zero /-
 /-- If the determinant of a map vanishes, then the map is not onto. -/
 theorem range_lt_top_of_det_eq_zero {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] {f : M →ₗ[𝕜] M}
     (hf : f.det = 0) : f.range < ⊤ :=
@@ -369,7 +424,9 @@ theorem range_lt_top_of_det_eq_zero {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M]
   simp only [lt_top_iff_ne_top, Classical.not_not, ← is_unit_iff_range_eq_top] at hf 
   exact isUnit_iff_ne_zero.1 (f.is_unit_det hf)
 #align linear_map.range_lt_top_of_det_eq_zero LinearMap.range_lt_top_of_det_eq_zero
+-/
 
+#print LinearMap.bot_lt_ker_of_det_eq_zero /-
 /-- If the determinant of a map vanishes, then the map is not injective. -/
 theorem bot_lt_ker_of_det_eq_zero {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] {f : M →ₗ[𝕜] M}
     (hf : f.det = 0) : ⊥ < f.ker :=
@@ -379,62 +436,82 @@ theorem bot_lt_ker_of_det_eq_zero {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] {
   simp only [bot_lt_iff_ne_bot, Classical.not_not, ← is_unit_iff_ker_eq_bot] at hf 
   exact isUnit_iff_ne_zero.1 (f.is_unit_det hf)
 #align linear_map.bot_lt_ker_of_det_eq_zero LinearMap.bot_lt_ker_of_det_eq_zero
+-/
 
 end LinearMap
 
 namespace LinearEquiv
 
+#print LinearEquiv.det /-
 /-- On a `linear_equiv`, the domain of `linear_map.det` can be promoted to `Rˣ`. -/
 protected def det : (M ≃ₗ[R] M) →* Rˣ :=
   (Units.map (LinearMap.det : (M →ₗ[R] M) →* R)).comp
     (LinearMap.GeneralLinearGroup.generalLinearEquiv R M).symm.toMonoidHom
 #align linear_equiv.det LinearEquiv.det
+-/
 
+#print LinearEquiv.coe_det /-
 @[simp]
 theorem coe_det (f : M ≃ₗ[R] M) : ↑f.det = LinearMap.det (f : M →ₗ[R] M) :=
   rfl
 #align linear_equiv.coe_det LinearEquiv.coe_det
+-/
 
+#print LinearEquiv.coe_inv_det /-
 @[simp]
 theorem coe_inv_det (f : M ≃ₗ[R] M) : ↑f.det⁻¹ = LinearMap.det (f.symm : M →ₗ[R] M) :=
   rfl
 #align linear_equiv.coe_inv_det LinearEquiv.coe_inv_det
+-/
 
+#print LinearEquiv.det_refl /-
 @[simp]
 theorem det_refl : (LinearEquiv.refl R M).det = 1 :=
   Units.ext <| LinearMap.det_id
 #align linear_equiv.det_refl LinearEquiv.det_refl
+-/
 
+#print LinearEquiv.det_trans /-
 @[simp]
 theorem det_trans (f g : M ≃ₗ[R] M) : (f.trans g).det = g.det * f.det :=
   map_mul _ g f
 #align linear_equiv.det_trans LinearEquiv.det_trans
+-/
 
+#print LinearEquiv.det_symm /-
 @[simp]
 theorem det_symm (f : M ≃ₗ[R] M) : f.symm.det = f.det⁻¹ :=
   map_inv _ f
 #align linear_equiv.det_symm LinearEquiv.det_symm
+-/
 
+#print LinearEquiv.det_conj /-
 /-- Conjugating a linear equiv by a linear equiv does not change its determinant. -/
 @[simp]
 theorem det_conj (f : M ≃ₗ[R] M) (e : M ≃ₗ[R] M') : ((e.symm.trans f).trans e).det = f.det := by
   rw [← Units.eq_iff, coe_det, coe_det, ← comp_coe, ← comp_coe, LinearMap.det_conj]
 #align linear_equiv.det_conj LinearEquiv.det_conj
+-/
 
 end LinearEquiv
 
+#print LinearEquiv.det_mul_det_symm /-
 /-- The determinants of a `linear_equiv` and its inverse multiply to 1. -/
 @[simp]
 theorem LinearEquiv.det_mul_det_symm {A : Type _} [CommRing A] [Module A M] (f : M ≃ₗ[A] M) :
     (f : M →ₗ[A] M).det * (f.symm : M →ₗ[A] M).det = 1 := by simp [← LinearMap.det_comp]
 #align linear_equiv.det_mul_det_symm LinearEquiv.det_mul_det_symm
+-/
 
+#print LinearEquiv.det_symm_mul_det /-
 /-- The determinants of a `linear_equiv` and its inverse multiply to 1. -/
 @[simp]
 theorem LinearEquiv.det_symm_mul_det {A : Type _} [CommRing A] [Module A M] (f : M ≃ₗ[A] M) :
     (f.symm : M →ₗ[A] M).det * (f : M →ₗ[A] M).det = 1 := by simp [← LinearMap.det_comp]
 #align linear_equiv.det_symm_mul_det LinearEquiv.det_symm_mul_det
+-/
 
+#print LinearEquiv.isUnit_det /-
 -- Cannot be stated using `linear_map.det` because `f` is not an endomorphism.
 theorem LinearEquiv.isUnit_det (f : M ≃ₗ[R] M') (v : Basis ι R M) (v' : Basis ι R M') :
     IsUnit (LinearMap.toMatrix v v' f).det :=
@@ -442,19 +519,25 @@ theorem LinearEquiv.isUnit_det (f : M ≃ₗ[R] M') (v : Basis ι R M) (v' : Bas
   apply is_unit_det_of_left_inverse
   simpa using (LinearMap.toMatrix_comp v v' v f.symm f).symm
 #align linear_equiv.is_unit_det LinearEquiv.isUnit_det
+-/
 
+#print LinearEquiv.isUnit_det' /-
 /-- Specialization of `linear_equiv.is_unit_det` -/
 theorem LinearEquiv.isUnit_det' {A : Type _} [CommRing A] [Module A M] (f : M ≃ₗ[A] M) :
     IsUnit (LinearMap.det (f : M →ₗ[A] M)) :=
   isUnit_of_mul_eq_one _ _ f.det_mul_det_symm
 #align linear_equiv.is_unit_det' LinearEquiv.isUnit_det'
+-/
 
+#print LinearEquiv.det_coe_symm /-
 /-- The determinant of `f.symm` is the inverse of that of `f` when `f` is a linear equiv. -/
 theorem LinearEquiv.det_coe_symm {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] (f : M ≃ₗ[𝕜] M) :
     (f.symm : M →ₗ[𝕜] M).det = (f : M →ₗ[𝕜] M).det⁻¹ := by
   field_simp [IsUnit.ne_zero f.is_unit_det']
 #align linear_equiv.det_coe_symm LinearEquiv.det_coe_symm
+-/
 
+#print LinearEquiv.ofIsUnitDet /-
 /-- Builds a linear equivalence from a linear map whose determinant in some bases is a unit. -/
 @[simps]
 def LinearEquiv.ofIsUnitDet {f : M →ₗ[R] M'} {v : Basis ι R M} {v' : Basis ι R M'}
@@ -476,13 +559,17 @@ def LinearEquiv.ofIsUnitDet {f : M →ₗ[R] M'} {v : Basis ι R M} {v' : Basis
         by rw [to_lin_mul v' v v', LinearMap.comp_apply, to_lin_to_matrix v v']
       _ = x := by simp [h]
 #align linear_equiv.of_is_unit_det LinearEquiv.ofIsUnitDet
+-/
 
+#print LinearEquiv.coe_ofIsUnitDet /-
 @[simp]
 theorem LinearEquiv.coe_ofIsUnitDet {f : M →ₗ[R] M'} {v : Basis ι R M} {v' : Basis ι R M'}
     (h : IsUnit (LinearMap.toMatrix v v' f).det) : (LinearEquiv.ofIsUnitDet h : M →ₗ[R] M') = f :=
   by ext x; rfl
 #align linear_equiv.coe_of_is_unit_det LinearEquiv.coe_ofIsUnitDet
+-/
 
+#print LinearMap.equivOfDetNeZero /-
 /-- Builds a linear equivalence from a linear map on a finite-dimensional vector space whose
 determinant is nonzero. -/
 @[reducible]
@@ -495,7 +582,9 @@ def LinearMap.equivOfDetNeZero {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCom
     by simp only [LinearMap.det_toMatrix, isUnit_iff_ne_zero.2 hf]
   LinearEquiv.ofIsUnitDet this
 #align linear_map.equiv_of_det_ne_zero LinearMap.equivOfDetNeZero
+-/
 
+#print LinearMap.associated_det_of_eq_comp /-
 theorem LinearMap.associated_det_of_eq_comp (e : M ≃ₗ[R] M) (f f' : M →ₗ[R] M)
     (h : ∀ x, f x = f' (e x)) : Associated f.det f'.det :=
   by
@@ -503,7 +592,9 @@ theorem LinearMap.associated_det_of_eq_comp (e : M ≃ₗ[R] M) (f f' : M →ₗ
   rw [← mul_one f'.det, LinearMap.det_comp]
   exact Associated.mul_left _ (associated_one_iff_is_unit.mpr e.is_unit_det')
 #align linear_map.associated_det_of_eq_comp LinearMap.associated_det_of_eq_comp
+-/
 
+#print LinearMap.associated_det_comp_equiv /-
 theorem LinearMap.associated_det_comp_equiv {N : Type _} [AddCommGroup N] [Module R N]
     (f : N →ₗ[R] M) (e e' : M ≃ₗ[R] N) : Associated (f ∘ₗ ↑e).det (f ∘ₗ ↑e').det :=
   by
@@ -512,6 +603,7 @@ theorem LinearMap.associated_det_comp_equiv {N : Type _} [AddCommGroup N] [Modul
   simp only [LinearMap.comp_apply, LinearEquiv.coe_coe, LinearEquiv.trans_apply,
     LinearEquiv.apply_symm_apply]
 #align linear_map.associated_det_comp_equiv LinearMap.associated_det_comp_equiv
+-/
 
 #print Basis.det /-
 /-- The determinant of a family of vectors with respect to some basis, as an alternating
@@ -538,24 +630,33 @@ def Basis.det : AlternatingMap R M R ι
 #align basis.det Basis.det
 -/
 
+#print Basis.det_apply /-
 theorem Basis.det_apply (v : ι → M) : e.det v = det (e.toMatrix v) :=
   rfl
 #align basis.det_apply Basis.det_apply
+-/
 
+#print Basis.det_self /-
 theorem Basis.det_self : e.det e = 1 := by simp [e.det_apply]
 #align basis.det_self Basis.det_self
+-/
 
+#print Basis.det_isEmpty /-
 @[simp]
 theorem Basis.det_isEmpty [IsEmpty ι] : e.det = AlternatingMap.constOfIsEmpty R M ι 1 :=
   by
   ext v
   exact Matrix.det_isEmpty
 #align basis.det_is_empty Basis.det_isEmpty
+-/
 
+#print Basis.det_ne_zero /-
 /-- `basis.det` is not the zero map. -/
 theorem Basis.det_ne_zero [Nontrivial R] : e.det ≠ 0 := fun h => by simpa [h] using e.det_self
 #align basis.det_ne_zero Basis.det_ne_zero
+-/
 
+#print is_basis_iff_det /-
 theorem is_basis_iff_det {v : ι → M} :
     LinearIndependent R v ∧ span R (Set.range v) = ⊤ ↔ IsUnit (e.det v) :=
   by
@@ -574,11 +675,15 @@ theorem is_basis_iff_det {v : ι → M} :
     rw [← this]
     exact ⟨v'.linear_independent, v'.span_eq⟩
 #align is_basis_iff_det is_basis_iff_det
+-/
 
+#print Basis.isUnit_det /-
 theorem Basis.isUnit_det (e' : Basis ι R M) : IsUnit (e.det e') :=
   (is_basis_iff_det e).mp ⟨e'.LinearIndependent, e'.span_eq⟩
 #align basis.is_unit_det Basis.isUnit_det
+-/
 
+#print AlternatingMap.eq_smul_basis_det /-
 /-- Any alternating map to `R` where `ι` has the cardinality of a basis equals the determinant
 map with respect to that basis, multiplied by the value of that alternating map on that basis. -/
 theorem AlternatingMap.eq_smul_basis_det (f : AlternatingMap R M R ι) : f = f e • e.det :=
@@ -588,7 +693,9 @@ theorem AlternatingMap.eq_smul_basis_det (f : AlternatingMap R M R ι) : f = f e
   change f (e ∘ σ) = (f e • e.det) (e ∘ σ)
   simp [AlternatingMap.map_perm, Basis.det_self]
 #align alternating_map.eq_smul_basis_det AlternatingMap.eq_smul_basis_det
+-/
 
+#print AlternatingMap.map_basis_eq_zero_iff /-
 @[simp]
 theorem AlternatingMap.map_basis_eq_zero_iff {ι : Type _} [Finite ι] (e : Basis ι R M)
     (f : AlternatingMap R M R ι) : f e = 0 ↔ f = 0 :=
@@ -597,14 +704,18 @@ theorem AlternatingMap.map_basis_eq_zero_iff {ι : Type _} [Finite ι] (e : Basi
     letI := Classical.decEq ι
     simpa [h] using f.eq_smul_basis_det e, fun h => h.symm ▸ AlternatingMap.zero_apply _⟩
 #align alternating_map.map_basis_eq_zero_iff AlternatingMap.map_basis_eq_zero_iff
+-/
 
+#print AlternatingMap.map_basis_ne_zero_iff /-
 theorem AlternatingMap.map_basis_ne_zero_iff {ι : Type _} [Finite ι] (e : Basis ι R M)
     (f : AlternatingMap R M R ι) : f e ≠ 0 ↔ f ≠ 0 :=
   not_congr <| f.map_basis_eq_zero_iff e
 #align alternating_map.map_basis_ne_zero_iff AlternatingMap.map_basis_ne_zero_iff
+-/
 
 variable {A : Type _} [CommRing A] [Module A M]
 
+#print Basis.det_comp /-
 @[simp]
 theorem Basis.det_comp (e : Basis ι A M) (f : M →ₗ[A] M) (v : ι → M) :
     e.det (f ∘ v) = f.det * e.det v := by
@@ -612,7 +723,9 @@ theorem Basis.det_comp (e : Basis ι A M) (f : M →ₗ[A] M) (v : ι → M) :
     e.to_matrix_eq_to_matrix_constr (f ∘ v), e.to_matrix_eq_to_matrix_constr v, ← to_matrix_comp,
     e.constr_comp]
 #align basis.det_comp Basis.det_comp
+-/
 
+#print Basis.det_comp_basis /-
 @[simp]
 theorem Basis.det_comp_basis [Module A M'] (b : Basis ι A M) (b' : Basis ι A M') (f : M →ₗ[A] M') :
     b'.det (f ∘ b) = LinearMap.det (f ∘ₗ (b'.Equiv b (Equiv.refl ι) : M' →ₗ[A] M)) :=
@@ -622,35 +735,47 @@ theorem Basis.det_comp_basis [Module A M'] (b : Basis ι A M) (b' : Basis ι A M
   congr 1; ext (i j)
   rw [Basis.toMatrix_apply, LinearMap.toMatrix_apply]
 #align basis.det_comp_basis Basis.det_comp_basis
+-/
 
+#print Basis.det_reindex /-
 theorem Basis.det_reindex {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (b : Basis ι R M) (v : ι' → M)
     (e : ι ≃ ι') : (b.reindex e).det v = b.det (v ∘ e) := by
   rw [Basis.det_apply, Basis.toMatrix_reindex', det_reindex_alg_equiv, Basis.det_apply]
 #align basis.det_reindex Basis.det_reindex
+-/
 
+#print Basis.det_reindex_symm /-
 theorem Basis.det_reindex_symm {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (b : Basis ι R M)
     (v : ι → M) (e : ι' ≃ ι) : (b.reindex e.symm).det (v ∘ e) = b.det v := by
   rw [Basis.det_reindex, Function.comp.assoc, e.self_comp_symm, Function.comp.right_id]
 #align basis.det_reindex_symm Basis.det_reindex_symm
+-/
 
+#print Basis.det_map /-
 @[simp]
 theorem Basis.det_map (b : Basis ι R M) (f : M ≃ₗ[R] M') (v : ι → M') :
     (b.map f).det v = b.det (f.symm ∘ v) := by
   rw [Basis.det_apply, Basis.toMatrix_map, Basis.det_apply]
 #align basis.det_map Basis.det_map
+-/
 
+#print Basis.det_map' /-
 theorem Basis.det_map' (b : Basis ι R M) (f : M ≃ₗ[R] M') :
     (b.map f).det = b.det.compLinearMap f.symm :=
   AlternatingMap.ext <| b.det_map f
 #align basis.det_map' Basis.det_map'
+-/
 
+#print Pi.basisFun_det /-
 @[simp]
 theorem Pi.basisFun_det : (Pi.basisFun R ι).det = Matrix.detRowAlternating :=
   by
   ext M
   rw [Basis.det_apply, Basis.coePiBasisFun.toMatrix_eq_transpose, det_transpose]
 #align pi.basis_fun_det Pi.basisFun_det
+-/
 
+#print Basis.det_smul_mk_coord_eq_det_update /-
 /-- If we fix a background basis `e`, then for any other basis `v`, we can characterise the
 coordinates provided by `v` in terms of determinants relative to `e`. -/
 theorem Basis.det_smul_mk_coord_eq_det_update {v : ι → M} (hli : LinearIndependent R v)
@@ -666,7 +791,9 @@ theorem Basis.det_smul_mk_coord_eq_det_update {v : ι → M} (hli : LinearIndepe
   · rw [Basis.mk_coord_apply_ne hik, MulZeroClass.mul_zero, eq_comm]
     exact e.det.map_eq_zero_of_eq _ (by simp [hik, Function.update_apply]) hik
 #align basis.det_smul_mk_coord_eq_det_update Basis.det_smul_mk_coord_eq_det_update
+-/
 
+#print Basis.det_unitsSMul /-
 /-- If a basis is multiplied columnwise by scalars `w : ι → Rˣ`, then the determinant with respect
 to this basis is multiplied by the product of the inverse of these scalars. -/
 theorem Basis.det_unitsSMul (e : Basis ι R M) (w : ι → Rˣ) :
@@ -680,17 +807,22 @@ theorem Basis.det_unitsSMul (e : Basis ι R M) (w : ι → Rˣ) :
   convert Matrix.det_mul_column (fun i => (↑(w i)⁻¹ : R)) fun i j => e.repr (f j) i
   simp [← Finset.prod_inv_distrib]
 #align basis.det_units_smul Basis.det_unitsSMul
+-/
 
+#print Basis.det_unitsSMul_self /-
 /-- The determinant of a basis constructed by `units_smul` is the product of the given units. -/
 @[simp]
 theorem Basis.det_unitsSMul_self (w : ι → Rˣ) : e.det (e.units_smul w) = ∏ i, w i := by
   simp [Basis.det_apply]
 #align basis.det_units_smul_self Basis.det_unitsSMul_self
+-/
 
+#print Basis.det_isUnitSMul /-
 /-- The determinant of a basis constructed by `is_unit_smul` is the product of the given units. -/
 @[simp]
 theorem Basis.det_isUnitSMul {w : ι → R} (hw : ∀ i, IsUnit (w i)) :
     e.det (e.isUnitSMul hw) = ∏ i, w i :=
   e.det_unitsSMul_self _
 #align basis.det_is_unit_smul Basis.det_isUnitSMul
+-/
 
Diff
@@ -469,14 +469,12 @@ def LinearEquiv.ofIsUnitDet {f : M →ₗ[R] M'} {v : Basis ι R M} {v' : Basis
       toLin v' v (toMatrix v v' f)⁻¹ (f x) = toLin v v ((toMatrix v v' f)⁻¹ ⬝ toMatrix v v' f) x :=
         by rw [to_lin_mul v v' v, to_lin_to_matrix, LinearMap.comp_apply]
       _ = x := by simp [h]
-      
   right_inv x :=
     calc
       f (toLin v' v (toMatrix v v' f)⁻¹ x) =
           toLin v' v' (toMatrix v v' f ⬝ (toMatrix v v' f)⁻¹) x :=
         by rw [to_lin_mul v' v v', LinearMap.comp_apply, to_lin_to_matrix v v']
       _ = x := by simp [h]
-      
 #align linear_equiv.of_is_unit_det LinearEquiv.ofIsUnitDet
 
 @[simp]
Diff
@@ -277,8 +277,8 @@ theorem det_smul {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCommGroup M] [Mod
       Fintype.card_fin, det_smul]
   ·
     classical
-      have : FiniteDimensional.finrank 𝕜 M = 0 := finrank_eq_zero_of_not_exists_basis H
-      simp [coe_det, H, this]
+    have : FiniteDimensional.finrank 𝕜 M = 0 := finrank_eq_zero_of_not_exists_basis H
+    simp [coe_det, H, this]
 #align linear_map.det_smul LinearMap.det_smul
 
 theorem det_zero' {ι : Type _} [Finite ι] [Nonempty ι] (b : Basis ι A M) :
@@ -308,12 +308,12 @@ theorem det_eq_one_of_finrank_eq_zero {𝕜 : Type _} [Field 𝕜] {M : Type _}
     [Module 𝕜 M] (h : FiniteDimensional.finrank 𝕜 M = 0) (f : M →ₗ[𝕜] M) :
     (f : M →ₗ[𝕜] M).det = 1 := by
   classical
-    refine' @LinearMap.det_cases M _ 𝕜 _ _ _ (fun t => t = 1) f _ rfl
-    intro s b
-    have : IsEmpty s := by
-      rw [← Fintype.card_eq_zero_iff]
-      exact (FiniteDimensional.finrank_eq_card_basis b).symm.trans h
-    exact Matrix.det_isEmpty
+  refine' @LinearMap.det_cases M _ 𝕜 _ _ _ (fun t => t = 1) f _ rfl
+  intro s b
+  have : IsEmpty s := by
+    rw [← Fintype.card_eq_zero_iff]
+    exact (FiniteDimensional.finrank_eq_card_basis b).symm.trans h
+  exact Matrix.det_isEmpty
 #align linear_map.det_eq_one_of_finrank_eq_zero LinearMap.det_eq_one_of_finrank_eq_zero
 
 /-- Conjugating a linear map by a linear equiv does not change its determinant. -/
@@ -321,22 +321,22 @@ theorem det_eq_one_of_finrank_eq_zero {𝕜 : Type _} [Field 𝕜] {M : Type _}
 theorem det_conj {N : Type _} [AddCommGroup N] [Module A N] (f : M →ₗ[A] M) (e : M ≃ₗ[A] N) :
     LinearMap.det ((e : M →ₗ[A] N) ∘ₗ f ∘ₗ (e.symm : N →ₗ[A] M)) = LinearMap.det f := by
   classical
-    by_cases H : ∃ s : Finset M, Nonempty (Basis s A M)
-    · rcases H with ⟨s, ⟨b⟩⟩
-      rw [← det_to_matrix b f, ← det_to_matrix (b.map e), to_matrix_comp (b.map e) b (b.map e),
-        to_matrix_comp (b.map e) b b, ← Matrix.mul_assoc, Matrix.det_conj_of_mul_eq_one]
-      ·
-        rw [← to_matrix_comp, LinearEquiv.comp_coe, e.symm_trans_self, LinearEquiv.refl_toLinearMap,
-          to_matrix_id]
-      ·
-        rw [← to_matrix_comp, LinearEquiv.comp_coe, e.self_trans_symm, LinearEquiv.refl_toLinearMap,
-          to_matrix_id]
-    · have H' : ¬∃ t : Finset N, Nonempty (Basis t A N) :=
-        by
-        contrapose! H
-        rcases H with ⟨s, ⟨b⟩⟩
-        exact ⟨_, ⟨(b.map e.symm).reindexFinsetRange⟩⟩
-      simp only [coe_det, H, H', Pi.one_apply, dif_neg, not_false_iff]
+  by_cases H : ∃ s : Finset M, Nonempty (Basis s A M)
+  · rcases H with ⟨s, ⟨b⟩⟩
+    rw [← det_to_matrix b f, ← det_to_matrix (b.map e), to_matrix_comp (b.map e) b (b.map e),
+      to_matrix_comp (b.map e) b b, ← Matrix.mul_assoc, Matrix.det_conj_of_mul_eq_one]
+    ·
+      rw [← to_matrix_comp, LinearEquiv.comp_coe, e.symm_trans_self, LinearEquiv.refl_toLinearMap,
+        to_matrix_id]
+    ·
+      rw [← to_matrix_comp, LinearEquiv.comp_coe, e.self_trans_symm, LinearEquiv.refl_toLinearMap,
+        to_matrix_id]
+  · have H' : ¬∃ t : Finset N, Nonempty (Basis t A N) :=
+      by
+      contrapose! H
+      rcases H with ⟨s, ⟨b⟩⟩
+      exact ⟨_, ⟨(b.map e.symm).reindexFinsetRange⟩⟩
+    simp only [coe_det, H, H', Pi.one_apply, dif_neg, not_false_iff]
 #align linear_map.det_conj LinearMap.det_conj
 
 /-- If a linear map is invertible, so is its determinant. -/
@@ -356,8 +356,8 @@ theorem finiteDimensional_of_det_ne_one {𝕜 : Type _} [Field 𝕜] [Module 
   · rcases H with ⟨s, ⟨hs⟩⟩; exact FiniteDimensional.of_fintype_basis hs
   ·
     classical
-      simp [LinearMap.coe_det, H] at hf 
-      exact hf.elim
+    simp [LinearMap.coe_det, H] at hf 
+    exact hf.elim
 #align linear_map.finite_dimensional_of_det_ne_one LinearMap.finiteDimensional_of_det_ne_one
 
 /-- If the determinant of a map vanishes, then the map is not onto. -/
Diff
@@ -356,7 +356,7 @@ theorem finiteDimensional_of_det_ne_one {𝕜 : Type _} [Field 𝕜] [Module 
   · rcases H with ⟨s, ⟨hs⟩⟩; exact FiniteDimensional.of_fintype_basis hs
   ·
     classical
-      simp [LinearMap.coe_det, H] at hf
+      simp [LinearMap.coe_det, H] at hf 
       exact hf.elim
 #align linear_map.finite_dimensional_of_det_ne_one LinearMap.finiteDimensional_of_det_ne_one
 
@@ -366,7 +366,7 @@ theorem range_lt_top_of_det_eq_zero {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M]
   by
   have : FiniteDimensional 𝕜 M := by simp [f.finite_dimensional_of_det_ne_one, hf]
   contrapose hf
-  simp only [lt_top_iff_ne_top, Classical.not_not, ← is_unit_iff_range_eq_top] at hf
+  simp only [lt_top_iff_ne_top, Classical.not_not, ← is_unit_iff_range_eq_top] at hf 
   exact isUnit_iff_ne_zero.1 (f.is_unit_det hf)
 #align linear_map.range_lt_top_of_det_eq_zero LinearMap.range_lt_top_of_det_eq_zero
 
@@ -376,7 +376,7 @@ theorem bot_lt_ker_of_det_eq_zero {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] {
   by
   have : FiniteDimensional 𝕜 M := by simp [f.finite_dimensional_of_det_ne_one, hf]
   contrapose hf
-  simp only [bot_lt_iff_ne_bot, Classical.not_not, ← is_unit_iff_ker_eq_bot] at hf
+  simp only [bot_lt_iff_ne_bot, Classical.not_not, ← is_unit_iff_ker_eq_bot] at hf 
   exact isUnit_iff_ne_zero.1 (f.is_unit_det hf)
 #align linear_map.bot_lt_ker_of_det_eq_zero LinearMap.bot_lt_ker_of_det_eq_zero
 
@@ -569,7 +569,7 @@ theorem is_basis_iff_det {v : ι → M} :
     ext (i j)
     simp
   · intro h
-    rw [Basis.det_apply, Basis.toMatrix_eq_toMatrix_constr] at h
+    rw [Basis.det_apply, Basis.toMatrix_eq_toMatrix_constr] at h 
     set v' := Basis.map e (LinearEquiv.ofIsUnitDet h) with v'_def
     have : ⇑v' = v := by ext i;
       rw [v'_def, Basis.map_apply, LinearEquiv.ofIsUnitDet_apply, e.constr_basis]
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johannes Hölzl, Patrick Massot, Casper Putz, Anne Baanen
 
 ! This file was ported from Lean 3 source module linear_algebra.determinant
-! leanprover-community/mathlib commit fe8d0ff42c3c24d789f491dc2622b6cac3d61564
+! leanprover-community/mathlib commit bd65478311e4dfd41f48bf38c7e3b02fb75d0163
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -548,7 +548,7 @@ theorem Basis.det_self : e.det e = 1 := by simp [e.det_apply]
 #align basis.det_self Basis.det_self
 
 @[simp]
-theorem Basis.det_isEmpty [IsEmpty ι] : e.det = AlternatingMap.constOfIsEmpty R M 1 :=
+theorem Basis.det_isEmpty [IsEmpty ι] : e.det = AlternatingMap.constOfIsEmpty R M ι 1 :=
   by
   ext v
   exact Matrix.det_isEmpty
Diff
@@ -48,9 +48,9 @@ basis, det, determinant
 
 noncomputable section
 
-open BigOperators
+open scoped BigOperators
 
-open Matrix
+open scoped Matrix
 
 open LinearMap
 
@@ -181,7 +181,7 @@ theorem detAux_comp (b : Trunc <| Basis ι A M) (f g : M →ₗ[A] M) :
 
 section
 
-open Classical
+open scoped Classical
 
 #print LinearMap.det /-
 -- Discourage the elaborator from unfolding `det` and producing a huge term by marking it
Diff
@@ -76,12 +76,6 @@ variable {A : Type _} [CommRing A]
 
 variable {m n : Type _} [Fintype m] [Fintype n]
 
-/- warning: equiv_of_pi_lequiv_pi -> equivOfPiLEquivPi is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u_6}} {n : Type.{u_7}} [_inst_9 : Fintype.{u_6} m] [_inst_10 : Fintype.{u_7} n] {R : Type.{u_1}} [_inst_11 : CommRing.{u_1} R] [_inst_12 : Nontrivial.{u_1} R], (LinearEquiv.{u_1, u_1, max u_6 u_1, max u_7 u_1} R R (Ring.toSemiring.{u_1} R (CommRing.toRing.{u_1} R _inst_11)) (Ring.toSemiring.{u_1} R (CommRing.toRing.{u_1} R _inst_11)) (RingHom.id.{u_1} R (Semiring.toNonAssocSemiring.{u_1} R (Ring.toSemiring.{u_1} R (CommRing.toRing.{u_1} R _inst_11)))) (RingHom.id.{u_1} R (Semiring.toNonAssocSemiring.{u_1} R (Ring.toSemiring.{u_1} R (CommRing.toRing.{u_1} R _inst_11)))) (equivOfPiLEquivPi._proof_1.{u_1} R _inst_11) (equivOfPiLEquivPi._proof_2.{u_1} R _inst_11) (m -> R) (n -> R) (Pi.addCommMonoid.{u_6, u_1} m (fun (ᾰ : m) => R) (fun (i : m) => AddCommGroup.toAddCommMonoid.{u_1} R (NonUnitalNonAssocRing.toAddCommGroup.{u_1} R (NonAssocRing.toNonUnitalNonAssocRing.{u_1} R (Ring.toNonAssocRing.{u_1} R (CommRing.toRing.{u_1} R _inst_11)))))) (Pi.addCommMonoid.{u_7, u_1} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u_1} R (NonUnitalNonAssocRing.toAddCommGroup.{u_1} R (NonAssocRing.toNonUnitalNonAssocRing.{u_1} R (Ring.toNonAssocRing.{u_1} R (CommRing.toRing.{u_1} R _inst_11)))))) (Pi.Function.module.{u_6, u_1, u_1} m R R (Ring.toSemiring.{u_1} R (CommRing.toRing.{u_1} R _inst_11)) (AddCommGroup.toAddCommMonoid.{u_1} R (NonUnitalNonAssocRing.toAddCommGroup.{u_1} R (NonAssocRing.toNonUnitalNonAssocRing.{u_1} R (Ring.toNonAssocRing.{u_1} R (CommRing.toRing.{u_1} R _inst_11))))) (Semiring.toModule.{u_1} R (Ring.toSemiring.{u_1} R (CommRing.toRing.{u_1} R _inst_11)))) (Pi.Function.module.{u_7, u_1, u_1} n R R (Ring.toSemiring.{u_1} R (CommRing.toRing.{u_1} R _inst_11)) (AddCommGroup.toAddCommMonoid.{u_1} R (NonUnitalNonAssocRing.toAddCommGroup.{u_1} R (NonAssocRing.toNonUnitalNonAssocRing.{u_1} R (Ring.toNonAssocRing.{u_1} R (CommRing.toRing.{u_1} R _inst_11))))) (Semiring.toModule.{u_1} R (Ring.toSemiring.{u_1} R (CommRing.toRing.{u_1} R _inst_11))))) -> (Equiv.{succ u_6, succ u_7} m n)
-but is expected to have type
-  forall {m : Type.{u_1}} {n : Type.{u_2}} [_inst_9 : Fintype.{u_1} m] [_inst_10 : Fintype.{u_2} n] {R : Type.{u_3}} [_inst_11 : CommRing.{u_3} R] [_inst_12 : Nontrivial.{u_3} R], (LinearEquiv.{u_3, u_3, max u_1 u_3, max u_2 u_3} R R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11)) (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11)) (RingHom.id.{u_3} R (Semiring.toNonAssocSemiring.{u_3} R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11)))) (RingHom.id.{u_3} R (Semiring.toNonAssocSemiring.{u_3} R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11)))) (RingHomInvPair.ids.{u_3} R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11))) (RingHomInvPair.ids.{u_3} R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11))) (m -> R) (n -> R) (Pi.addCommMonoid.{u_1, u_3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u_3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_3} R (NonAssocRing.toNonUnitalNonAssocRing.{u_3} R (Ring.toNonAssocRing.{u_3} R (CommRing.toRing.{u_3} R _inst_11)))))) (Pi.addCommMonoid.{u_2, u_3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u_3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_3} R (NonAssocRing.toNonUnitalNonAssocRing.{u_3} R (Ring.toNonAssocRing.{u_3} R (CommRing.toRing.{u_3} R _inst_11)))))) (Pi.module.{u_1, u_3, u_3} m (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.264 : m) => R) R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11)) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u_3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_3} R (NonAssocRing.toNonUnitalNonAssocRing.{u_3} R (Ring.toNonAssocRing.{u_3} R (CommRing.toRing.{u_3} R _inst_11))))) (fun (i : m) => Semiring.toModule.{u_3} R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11)))) (Pi.module.{u_2, u_3, u_3} n (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.267 : n) => R) R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u_3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_3} R (NonAssocRing.toNonUnitalNonAssocRing.{u_3} R (Ring.toNonAssocRing.{u_3} R (CommRing.toRing.{u_3} R _inst_11))))) (fun (i : n) => Semiring.toModule.{u_3} R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11))))) -> (Equiv.{succ u_1, succ u_2} m n)
-Case conversion may be inaccurate. Consider using '#align equiv_of_pi_lequiv_pi equivOfPiLEquivPiₓ'. -/
 /-- If `R^m` and `R^n` are linearly equivalent, then `m` and `n` are also equivalent. -/
 def equivOfPiLEquivPi {R : Type _} [CommRing R] [Nontrivial R] (e : (m → R) ≃ₗ[R] n → R) : m ≃ n :=
   Basis.indexEquiv (Basis.ofEquivFun e.symm) (Pi.basisFun _ _)
@@ -89,12 +83,6 @@ def equivOfPiLEquivPi {R : Type _} [CommRing R] [Nontrivial R] (e : (m → R) 
 
 namespace Matrix
 
-/- warning: matrix.index_equiv_of_inv -> Matrix.indexEquivOfInv is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u_5}} [_inst_8 : CommRing.{u_5} A] {m : Type.{u_6}} {n : Type.{u_7}} [_inst_9 : Fintype.{u_6} m] [_inst_10 : Fintype.{u_7} n] [_inst_11 : Nontrivial.{u_5} A] [_inst_12 : DecidableEq.{succ u_6} m] [_inst_13 : DecidableEq.{succ u_7} n] {M : Matrix.{u_6, u_7, u_5} m n A} {M' : Matrix.{u_7, u_6, u_5} n m A}, (Eq.{succ (max u_6 u_5)} (Matrix.{u_6, u_6, u_5} m m A) (Matrix.mul.{u_5, u_6, u_7, u_6} m n m A _inst_10 (Distrib.toHasMul.{u_5} A (Ring.toDistrib.{u_5} A (CommRing.toRing.{u_5} A _inst_8))) (AddCommGroup.toAddCommMonoid.{u_5} A (NonUnitalNonAssocRing.toAddCommGroup.{u_5} A (NonAssocRing.toNonUnitalNonAssocRing.{u_5} A (Ring.toNonAssocRing.{u_5} A (CommRing.toRing.{u_5} A _inst_8))))) M M') (OfNat.ofNat.{max u_6 u_5} (Matrix.{u_6, u_6, u_5} m m A) 1 (OfNat.mk.{max u_6 u_5} (Matrix.{u_6, u_6, u_5} m m A) 1 (One.one.{max u_6 u_5} (Matrix.{u_6, u_6, u_5} m m A) (Matrix.hasOne.{u_5, u_6} m A (fun (a : m) (b : m) => _inst_12 a b) (MulZeroClass.toHasZero.{u_5} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u_5} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_5} A (NonAssocRing.toNonUnitalNonAssocRing.{u_5} A (Ring.toNonAssocRing.{u_5} A (CommRing.toRing.{u_5} A _inst_8)))))) (AddMonoidWithOne.toOne.{u_5} A (AddGroupWithOne.toAddMonoidWithOne.{u_5} A (AddCommGroupWithOne.toAddGroupWithOne.{u_5} A (Ring.toAddCommGroupWithOne.{u_5} A (CommRing.toRing.{u_5} A _inst_8)))))))))) -> (Eq.{succ (max u_7 u_5)} (Matrix.{u_7, u_7, u_5} n n A) (Matrix.mul.{u_5, u_7, u_6, u_7} n m n A _inst_9 (Distrib.toHasMul.{u_5} A (Ring.toDistrib.{u_5} A (CommRing.toRing.{u_5} A _inst_8))) (AddCommGroup.toAddCommMonoid.{u_5} A (NonUnitalNonAssocRing.toAddCommGroup.{u_5} A (NonAssocRing.toNonUnitalNonAssocRing.{u_5} A (Ring.toNonAssocRing.{u_5} A (CommRing.toRing.{u_5} A _inst_8))))) M' M) (OfNat.ofNat.{max u_7 u_5} (Matrix.{u_7, u_7, u_5} n n A) 1 (OfNat.mk.{max u_7 u_5} (Matrix.{u_7, u_7, u_5} n n A) 1 (One.one.{max u_7 u_5} (Matrix.{u_7, u_7, u_5} n n A) (Matrix.hasOne.{u_5, u_7} n A (fun (a : n) (b : n) => _inst_13 a b) (MulZeroClass.toHasZero.{u_5} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u_5} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_5} A (NonAssocRing.toNonUnitalNonAssocRing.{u_5} A (Ring.toNonAssocRing.{u_5} A (CommRing.toRing.{u_5} A _inst_8)))))) (AddMonoidWithOne.toOne.{u_5} A (AddGroupWithOne.toAddMonoidWithOne.{u_5} A (AddCommGroupWithOne.toAddGroupWithOne.{u_5} A (Ring.toAddCommGroupWithOne.{u_5} A (CommRing.toRing.{u_5} A _inst_8)))))))))) -> (Equiv.{succ u_6, succ u_7} m n)
-but is expected to have type
-  forall {A : Type.{u_1}} [_inst_8 : CommRing.{u_1} A] {m : Type.{u_2}} {n : Type.{u_3}} [_inst_9 : Fintype.{u_2} m] [_inst_10 : Fintype.{u_3} n] [_inst_11 : Nontrivial.{u_1} A] [_inst_12 : DecidableEq.{succ u_2} m] [_inst_13 : DecidableEq.{succ u_3} n] {M : Matrix.{u_2, u_3, u_1} m n A} {M' : Matrix.{u_3, u_2, u_1} n m A}, (Eq.{max (succ u_1) (succ u_2)} (Matrix.{u_2, u_2, u_1} m m A) (Matrix.mul.{u_1, u_2, u_3, u_2} m n m A _inst_10 (NonUnitalNonAssocRing.toMul.{u_1} A (NonAssocRing.toNonUnitalNonAssocRing.{u_1} A (Ring.toNonAssocRing.{u_1} A (CommRing.toRing.{u_1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u_1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_1} A (NonAssocRing.toNonUnitalNonAssocRing.{u_1} A (Ring.toNonAssocRing.{u_1} A (CommRing.toRing.{u_1} A _inst_8))))) M M') (OfNat.ofNat.{max u_1 u_2} (Matrix.{u_2, u_2, u_1} m m A) 1 (One.toOfNat1.{max u_1 u_2} (Matrix.{u_2, u_2, u_1} m m A) (Matrix.one.{u_1, u_2} m A (fun (a : m) (b : m) => _inst_12 a b) (CommMonoidWithZero.toZero.{u_1} A (CommSemiring.toCommMonoidWithZero.{u_1} A (CommRing.toCommSemiring.{u_1} A _inst_8))) (Semiring.toOne.{u_1} A (CommSemiring.toSemiring.{u_1} A (CommRing.toCommSemiring.{u_1} A _inst_8))))))) -> (Eq.{max (succ u_1) (succ u_3)} (Matrix.{u_3, u_3, u_1} n n A) (Matrix.mul.{u_1, u_3, u_2, u_3} n m n A _inst_9 (NonUnitalNonAssocRing.toMul.{u_1} A (NonAssocRing.toNonUnitalNonAssocRing.{u_1} A (Ring.toNonAssocRing.{u_1} A (CommRing.toRing.{u_1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u_1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_1} A (NonAssocRing.toNonUnitalNonAssocRing.{u_1} A (Ring.toNonAssocRing.{u_1} A (CommRing.toRing.{u_1} A _inst_8))))) M' M) (OfNat.ofNat.{max u_1 u_3} (Matrix.{u_3, u_3, u_1} n n A) 1 (One.toOfNat1.{max u_1 u_3} (Matrix.{u_3, u_3, u_1} n n A) (Matrix.one.{u_1, u_3} n A (fun (a : n) (b : n) => _inst_13 a b) (CommMonoidWithZero.toZero.{u_1} A (CommSemiring.toCommMonoidWithZero.{u_1} A (CommRing.toCommSemiring.{u_1} A _inst_8))) (Semiring.toOne.{u_1} A (CommSemiring.toSemiring.{u_1} A (CommRing.toCommSemiring.{u_1} A _inst_8))))))) -> (Equiv.{succ u_2, succ u_3} m n)
-Case conversion may be inaccurate. Consider using '#align matrix.index_equiv_of_inv Matrix.indexEquivOfInvₓ'. -/
 /-- If `M` and `M'` are each other's inverse matrices, they are square matrices up to
 equivalence of types. -/
 def indexEquivOfInv [Nontrivial A] [DecidableEq m] [DecidableEq n] {M : Matrix m n A}
@@ -102,22 +90,10 @@ def indexEquivOfInv [Nontrivial A] [DecidableEq m] [DecidableEq n] {M : Matrix m
   equivOfPiLEquivPi (toLin'OfInv hMM' hM'M)
 #align matrix.index_equiv_of_inv Matrix.indexEquivOfInv
 
-/- warning: matrix.det_comm -> Matrix.det_comm is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {n : Type.{u2}} [_inst_10 : Fintype.{u2} n] [_inst_11 : DecidableEq.{succ u2} n] (M : Matrix.{u2, u2, u1} n n A) (N : Matrix.{u2, u2, u1} n n A), Eq.{succ u1} A (Matrix.det.{u1, u2} n (fun (a : n) (b : n) => _inst_11 a b) _inst_10 A _inst_8 (Matrix.mul.{u1, u2, u2, u2} n n n A _inst_10 (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A (CommRing.toRing.{u1} A _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M N)) (Matrix.det.{u1, u2} n (fun (a : n) (b : n) => _inst_11 a b) _inst_10 A _inst_8 (Matrix.mul.{u1, u2, u2, u2} n n n A _inst_10 (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A (CommRing.toRing.{u1} A _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) N M))
-but is expected to have type
-  forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {n : Type.{u2}} [_inst_10 : Fintype.{u2} n] [_inst_11 : DecidableEq.{succ u2} n] (M : Matrix.{u2, u2, u1} n n A) (N : Matrix.{u2, u2, u1} n n A), Eq.{succ u1} A (Matrix.det.{u1, u2} n (fun (a : n) (b : n) => _inst_11 a b) _inst_10 A _inst_8 (Matrix.mul.{u1, u2, u2, u2} n n n A _inst_10 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M N)) (Matrix.det.{u1, u2} n (fun (a : n) (b : n) => _inst_11 a b) _inst_10 A _inst_8 (Matrix.mul.{u1, u2, u2, u2} n n n A _inst_10 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) N M))
-Case conversion may be inaccurate. Consider using '#align matrix.det_comm Matrix.det_commₓ'. -/
 theorem det_comm [DecidableEq n] (M N : Matrix n n A) : det (M ⬝ N) = det (N ⬝ M) := by
   rw [det_mul, det_mul, mul_comm]
 #align matrix.det_comm Matrix.det_comm
 
-/- warning: matrix.det_comm' -> Matrix.det_comm' is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {m : Type.{u2}} {n : Type.{u3}} [_inst_9 : Fintype.{u2} m] [_inst_10 : Fintype.{u3} n] [_inst_11 : DecidableEq.{succ u2} m] [_inst_12 : DecidableEq.{succ u3} n] {M : Matrix.{u3, u2, u1} n m A} {N : Matrix.{u2, u3, u1} m n A} {M' : Matrix.{u2, u3, u1} m n A}, (Eq.{succ (max u3 u1)} (Matrix.{u3, u3, u1} n n A) (Matrix.mul.{u1, u3, u2, u3} n m n A _inst_9 (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A (CommRing.toRing.{u1} A _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M M') (OfNat.ofNat.{max u3 u1} (Matrix.{u3, u3, u1} n n A) 1 (OfNat.mk.{max u3 u1} (Matrix.{u3, u3, u1} n n A) 1 (One.one.{max u3 u1} (Matrix.{u3, u3, u1} n n A) (Matrix.hasOne.{u1, u3} n A (fun (a : n) (b : n) => _inst_12 a b) (MulZeroClass.toHasZero.{u1} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddMonoidWithOne.toOne.{u1} A (AddGroupWithOne.toAddMonoidWithOne.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A (CommRing.toRing.{u1} A _inst_8)))))))))) -> (Eq.{succ (max u2 u1)} (Matrix.{u2, u2, u1} m m A) (Matrix.mul.{u1, u2, u3, u2} m n m A _inst_10 (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A (CommRing.toRing.{u1} A _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M' M) (OfNat.ofNat.{max u2 u1} (Matrix.{u2, u2, u1} m m A) 1 (OfNat.mk.{max u2 u1} (Matrix.{u2, u2, u1} m m A) 1 (One.one.{max u2 u1} (Matrix.{u2, u2, u1} m m A) (Matrix.hasOne.{u1, u2} m A (fun (a : m) (b : m) => _inst_11 a b) (MulZeroClass.toHasZero.{u1} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddMonoidWithOne.toOne.{u1} A (AddGroupWithOne.toAddMonoidWithOne.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A (CommRing.toRing.{u1} A _inst_8)))))))))) -> (Eq.{succ u1} A (Matrix.det.{u1, u3} n (fun (a : n) (b : n) => _inst_12 a b) _inst_10 A _inst_8 (Matrix.mul.{u1, u3, u2, u3} n m n A _inst_9 (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A (CommRing.toRing.{u1} A _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M N)) (Matrix.det.{u1, u2} m (fun (a : m) (b : m) => _inst_11 a b) _inst_9 A _inst_8 (Matrix.mul.{u1, u2, u3, u2} m n m A _inst_10 (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A (CommRing.toRing.{u1} A _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) N M)))
-but is expected to have type
-  forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {m : Type.{u3}} {n : Type.{u2}} [_inst_9 : Fintype.{u3} m] [_inst_10 : Fintype.{u2} n] [_inst_11 : DecidableEq.{succ u3} m] [_inst_12 : DecidableEq.{succ u2} n] {M : Matrix.{u2, u3, u1} n m A} {N : Matrix.{u3, u2, u1} m n A} {M' : Matrix.{u3, u2, u1} m n A}, (Eq.{max (succ u1) (succ u2)} (Matrix.{u2, u2, u1} n n A) (Matrix.mul.{u1, u2, u3, u2} n m n A _inst_9 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M M') (OfNat.ofNat.{max u1 u2} (Matrix.{u2, u2, u1} n n A) 1 (One.toOfNat1.{max u1 u2} (Matrix.{u2, u2, u1} n n A) (Matrix.one.{u1, u2} n A (fun (a : n) (b : n) => _inst_12 a b) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (Semiring.toOne.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) -> (Eq.{max (succ u1) (succ u3)} (Matrix.{u3, u3, u1} m m A) (Matrix.mul.{u1, u3, u2, u3} m n m A _inst_10 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M' M) (OfNat.ofNat.{max u1 u3} (Matrix.{u3, u3, u1} m m A) 1 (One.toOfNat1.{max u1 u3} (Matrix.{u3, u3, u1} m m A) (Matrix.one.{u1, u3} m A (fun (a : m) (b : m) => _inst_11 a b) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (Semiring.toOne.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) -> (Eq.{succ u1} A (Matrix.det.{u1, u2} n (fun (a : n) (b : n) => _inst_12 a b) _inst_10 A _inst_8 (Matrix.mul.{u1, u2, u3, u2} n m n A _inst_9 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M N)) (Matrix.det.{u1, u3} m (fun (a : m) (b : m) => _inst_11 a b) _inst_9 A _inst_8 (Matrix.mul.{u1, u3, u2, u3} m n m A _inst_10 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) N M)))
-Case conversion may be inaccurate. Consider using '#align matrix.det_comm' Matrix.det_comm'ₓ'. -/
 /-- If there exists a two-sided inverse `M'` for `M` (indexed differently),
 then `det (N ⬝ M) = det (M ⬝ N)`. -/
 theorem det_comm' [DecidableEq m] [DecidableEq n] {M : Matrix n m A} {N : Matrix m n A}
@@ -131,12 +107,6 @@ theorem det_comm' [DecidableEq m] [DecidableEq n] {M : Matrix n m A} {N : Matrix
     submatrix_mul_equiv, Equiv.coe_refl, submatrix_id_id]
 #align matrix.det_comm' Matrix.det_comm'
 
-/- warning: matrix.det_conj_of_mul_eq_one -> Matrix.det_conj_of_mul_eq_one is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {m : Type.{u2}} {n : Type.{u3}} [_inst_9 : Fintype.{u2} m] [_inst_10 : Fintype.{u3} n] [_inst_11 : DecidableEq.{succ u2} m] [_inst_12 : DecidableEq.{succ u3} n] {M : Matrix.{u2, u3, u1} m n A} {M' : Matrix.{u3, u2, u1} n m A} {N : Matrix.{u3, u3, u1} n n A}, (Eq.{succ (max u2 u1)} (Matrix.{u2, u2, u1} m m A) (Matrix.mul.{u1, u2, u3, u2} m n m A _inst_10 (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A (CommRing.toRing.{u1} A _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M M') (OfNat.ofNat.{max u2 u1} (Matrix.{u2, u2, u1} m m A) 1 (OfNat.mk.{max u2 u1} (Matrix.{u2, u2, u1} m m A) 1 (One.one.{max u2 u1} (Matrix.{u2, u2, u1} m m A) (Matrix.hasOne.{u1, u2} m A (fun (a : m) (b : m) => _inst_11 a b) (MulZeroClass.toHasZero.{u1} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddMonoidWithOne.toOne.{u1} A (AddGroupWithOne.toAddMonoidWithOne.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A (CommRing.toRing.{u1} A _inst_8)))))))))) -> (Eq.{succ (max u3 u1)} (Matrix.{u3, u3, u1} n n A) (Matrix.mul.{u1, u3, u2, u3} n m n A _inst_9 (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A (CommRing.toRing.{u1} A _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M' M) (OfNat.ofNat.{max u3 u1} (Matrix.{u3, u3, u1} n n A) 1 (OfNat.mk.{max u3 u1} (Matrix.{u3, u3, u1} n n A) 1 (One.one.{max u3 u1} (Matrix.{u3, u3, u1} n n A) (Matrix.hasOne.{u1, u3} n A (fun (a : n) (b : n) => _inst_12 a b) (MulZeroClass.toHasZero.{u1} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddMonoidWithOne.toOne.{u1} A (AddGroupWithOne.toAddMonoidWithOne.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A (CommRing.toRing.{u1} A _inst_8)))))))))) -> (Eq.{succ u1} A (Matrix.det.{u1, u2} m (fun (a : m) (b : m) => _inst_11 a b) _inst_9 A _inst_8 (Matrix.mul.{u1, u2, u3, u2} m n m A _inst_10 (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A (CommRing.toRing.{u1} A _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Matrix.mul.{u1, u2, u3, u3} m n n A _inst_10 (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A (CommRing.toRing.{u1} A _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M N) M')) (Matrix.det.{u1, u3} n (fun (a : n) (b : n) => _inst_12 a b) _inst_10 A _inst_8 N))
-but is expected to have type
-  forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {m : Type.{u3}} {n : Type.{u2}} [_inst_9 : Fintype.{u3} m] [_inst_10 : Fintype.{u2} n] [_inst_11 : DecidableEq.{succ u3} m] [_inst_12 : DecidableEq.{succ u2} n] {M : Matrix.{u3, u2, u1} m n A} {M' : Matrix.{u2, u3, u1} n m A} {N : Matrix.{u2, u2, u1} n n A}, (Eq.{max (succ u1) (succ u3)} (Matrix.{u3, u3, u1} m m A) (Matrix.mul.{u1, u3, u2, u3} m n m A _inst_10 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M M') (OfNat.ofNat.{max u1 u3} (Matrix.{u3, u3, u1} m m A) 1 (One.toOfNat1.{max u1 u3} (Matrix.{u3, u3, u1} m m A) (Matrix.one.{u1, u3} m A (fun (a : m) (b : m) => _inst_11 a b) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (Semiring.toOne.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) -> (Eq.{max (succ u1) (succ u2)} (Matrix.{u2, u2, u1} n n A) (Matrix.mul.{u1, u2, u3, u2} n m n A _inst_9 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M' M) (OfNat.ofNat.{max u1 u2} (Matrix.{u2, u2, u1} n n A) 1 (One.toOfNat1.{max u1 u2} (Matrix.{u2, u2, u1} n n A) (Matrix.one.{u1, u2} n A (fun (a : n) (b : n) => _inst_12 a b) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (Semiring.toOne.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) -> (Eq.{succ u1} A (Matrix.det.{u1, u3} m (fun (a : m) (b : m) => _inst_11 a b) _inst_9 A _inst_8 (Matrix.mul.{u1, u3, u2, u3} m n m A _inst_10 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Matrix.mul.{u1, u3, u2, u2} m n n A _inst_10 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M N) M')) (Matrix.det.{u1, u2} n (fun (a : n) (b : n) => _inst_12 a b) _inst_10 A _inst_8 N))
-Case conversion may be inaccurate. Consider using '#align matrix.det_conj_of_mul_eq_one Matrix.det_conj_of_mul_eq_oneₓ'. -/
 /-- If `M'` is a two-sided inverse for `M` (indexed differently), `det (M ⬝ N ⬝ M') = det N`.
 
 See `matrix.det_conj` and `matrix.det_conj'` for the case when `M' = M⁻¹` or vice versa. -/
@@ -159,9 +129,6 @@ variable {A : Type _} [CommRing A] [Module A M]
 
 variable {κ : Type _} [Fintype κ]
 
-/- warning: linear_map.det_to_matrix_eq_det_to_matrix -> LinearMap.det_toMatrix_eq_det_toMatrix is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.det_to_matrix_eq_det_to_matrix LinearMap.det_toMatrix_eq_det_toMatrixₓ'. -/
 /-- The determinant of `linear_map.to_matrix` does not depend on the choice of basis. -/
 theorem det_toMatrix_eq_det_toMatrix [DecidableEq κ] (b : Basis ι A M) (c : Basis κ A M)
     (f : M →ₗ[A] M) : det (LinearMap.toMatrix b b f) = det (LinearMap.toMatrix c c f) := by
@@ -187,9 +154,6 @@ irreducible_def detAux : Trunc (Basis ι A M) → (M →ₗ[A] M) →* A :=
 #align linear_map.det_aux LinearMap.detAux
 -/
 
-/- warning: linear_map.det_aux_def -> LinearMap.detAux_def' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.det_aux_def LinearMap.detAux_def'ₓ'. -/
 /-- Unfold lemma for `det_aux`.
 
 See also `det_aux_def'` which allows you to vary the basis.
@@ -198,26 +162,17 @@ theorem detAux_def' (b : Basis ι A M) (f : M →ₗ[A] M) :
     LinearMap.detAux (Trunc.mk b) f = Matrix.det (LinearMap.toMatrix b b f) := by rw [det_aux]; rfl
 #align linear_map.det_aux_def LinearMap.detAux_def'
 
-/- warning: linear_map.det_aux_def' -> LinearMap.detAux_def'' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.det_aux_def' LinearMap.detAux_def''ₓ'. -/
 theorem detAux_def'' {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (tb : Trunc <| Basis ι A M)
     (b' : Basis ι' A M) (f : M →ₗ[A] M) :
     LinearMap.detAux tb f = Matrix.det (LinearMap.toMatrix b' b' f) := by
   apply Trunc.induction_on tb; intro b; rw [det_aux_def, det_to_matrix_eq_det_to_matrix b b']
 #align linear_map.det_aux_def' LinearMap.detAux_def''
 
-/- warning: linear_map.det_aux_id -> LinearMap.detAux_id is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.det_aux_id LinearMap.detAux_idₓ'. -/
 @[simp]
 theorem detAux_id (b : Trunc <| Basis ι A M) : LinearMap.detAux b LinearMap.id = 1 :=
   (LinearMap.detAux b).map_one
 #align linear_map.det_aux_id LinearMap.detAux_id
 
-/- warning: linear_map.det_aux_comp -> LinearMap.detAux_comp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.det_aux_comp LinearMap.detAux_compₓ'. -/
 @[simp]
 theorem detAux_comp (b : Trunc <| Basis ι A M) (f g : M →ₗ[A] M) :
     LinearMap.detAux b (f.comp g) = LinearMap.detAux b f * LinearMap.detAux b g :=
@@ -241,9 +196,6 @@ protected irreducible_def det : (M →ₗ[A] M) →* A :=
 #align linear_map.det LinearMap.det
 -/
 
-/- warning: linear_map.coe_det -> LinearMap.coe_det is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.coe_det LinearMap.coe_detₓ'. -/
 theorem coe_det [DecidableEq M] :
     ⇑(LinearMap.det : (M →ₗ[A] M) →* A) =
       if H : ∃ s : Finset M, Nonempty (Basis s A M) then
@@ -259,9 +211,6 @@ theorem coe_det [DecidableEq M] :
 
 end
 
-/- warning: linear_map.det_eq_det_to_matrix_of_finset -> LinearMap.det_eq_det_toMatrix_of_finset is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.det_eq_det_to_matrix_of_finset LinearMap.det_eq_det_toMatrix_of_finsetₓ'. -/
 -- Auxiliary lemma, the `simp` normal form goes in the other direction
 -- (using `linear_map.det_to_matrix`)
 theorem det_eq_det_toMatrix_of_finset [DecidableEq M] {s : Finset M} (b : Basis s A M)
@@ -271,9 +220,6 @@ theorem det_eq_det_toMatrix_of_finset [DecidableEq M] {s : Finset M} (b : Basis
   rw [LinearMap.coe_det, dif_pos, det_aux_def' _ b] <;> assumption
 #align linear_map.det_eq_det_to_matrix_of_finset LinearMap.det_eq_det_toMatrix_of_finset
 
-/- warning: linear_map.det_to_matrix -> LinearMap.det_toMatrix is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.det_to_matrix LinearMap.det_toMatrixₓ'. -/
 @[simp]
 theorem det_toMatrix (b : Basis ι A M) (f : M →ₗ[A] M) : Matrix.det (toMatrix b b f) = f.det :=
   by
@@ -281,34 +227,22 @@ theorem det_toMatrix (b : Basis ι A M) (f : M →ₗ[A] M) : Matrix.det (toMatr
   rw [det_eq_det_to_matrix_of_finset b.reindex_finset_range, det_to_matrix_eq_det_to_matrix b]
 #align linear_map.det_to_matrix LinearMap.det_toMatrix
 
-/- warning: linear_map.det_to_matrix' -> LinearMap.det_toMatrix' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.det_to_matrix' LinearMap.det_toMatrix'ₓ'. -/
 @[simp]
 theorem det_toMatrix' {ι : Type _} [Fintype ι] [DecidableEq ι] (f : (ι → A) →ₗ[A] ι → A) :
     det f.toMatrix' = f.det := by simp [← to_matrix_eq_to_matrix']
 #align linear_map.det_to_matrix' LinearMap.det_toMatrix'
 
-/- warning: linear_map.det_to_lin -> LinearMap.det_toLin is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.det_to_lin LinearMap.det_toLinₓ'. -/
 @[simp]
 theorem det_toLin (b : Basis ι R M) (f : Matrix ι ι R) :
     LinearMap.det (Matrix.toLin b b f) = f.det := by
   rw [← LinearMap.det_toMatrix b, LinearMap.toMatrix_toLin]
 #align linear_map.det_to_lin LinearMap.det_toLin
 
-/- warning: linear_map.det_to_lin' -> LinearMap.det_toLin' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.det_to_lin' LinearMap.det_toLin'ₓ'. -/
 @[simp]
 theorem det_toLin' (f : Matrix ι ι R) : LinearMap.det f.toLin' = f.det := by
   simp only [← to_lin_eq_to_lin', det_to_lin]
 #align linear_map.det_to_lin' LinearMap.det_toLin'
 
-/- warning: linear_map.det_cases -> LinearMap.det_cases is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.det_cases LinearMap.det_casesₓ'. -/
 /-- To show `P f.det` it suffices to consider `P (to_matrix _ _ f).det` and `P 1`. -/
 @[elab_as_elim]
 theorem det_cases [DecidableEq M] {P : A → Prop} (f : M →ₗ[A] M)
@@ -321,25 +255,16 @@ theorem det_cases [DecidableEq M] {P : A → Prop} (f : M →ₗ[A] M)
   · exact h1
 #align linear_map.det_cases LinearMap.det_cases
 
-/- warning: linear_map.det_comp -> LinearMap.det_comp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.det_comp LinearMap.det_compₓ'. -/
 @[simp]
 theorem det_comp (f g : M →ₗ[A] M) : (f.comp g).det = f.det * g.det :=
   LinearMap.det.map_mul f g
 #align linear_map.det_comp LinearMap.det_comp
 
-/- warning: linear_map.det_id -> LinearMap.det_id is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.det_id LinearMap.det_idₓ'. -/
 @[simp]
 theorem det_id : (LinearMap.id : M →ₗ[A] M).det = 1 :=
   LinearMap.det.map_one
 #align linear_map.det_id LinearMap.det_id
 
-/- warning: linear_map.det_smul -> LinearMap.det_smul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.det_smul LinearMap.det_smulₓ'. -/
 /-- Multiplying a map by a scalar `c` multiplies its determinant by `c ^ dim M`. -/
 @[simp]
 theorem det_smul {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCommGroup M] [Module 𝕜 M] (c : 𝕜)
@@ -356,9 +281,6 @@ theorem det_smul {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCommGroup M] [Mod
       simp [coe_det, H, this]
 #align linear_map.det_smul LinearMap.det_smul
 
-/- warning: linear_map.det_zero' -> LinearMap.det_zero' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.det_zero' LinearMap.det_zero'ₓ'. -/
 theorem det_zero' {ι : Type _} [Finite ι] [Nonempty ι] (b : Basis ι A M) :
     LinearMap.det (0 : M →ₗ[A] M) = 0 :=
   by
@@ -366,9 +288,6 @@ theorem det_zero' {ι : Type _} [Finite ι] [Nonempty ι] (b : Basis ι A M) :
   rwa [← det_to_matrix b, LinearEquiv.map_zero, det_zero]
 #align linear_map.det_zero' LinearMap.det_zero'
 
-/- warning: linear_map.det_zero -> LinearMap.det_zero is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.det_zero LinearMap.det_zeroₓ'. -/
 /-- In a finite-dimensional vector space, the zero map has determinant `1` in dimension `0`,
 and `0` otherwise. We give a formula that also works in infinite dimension, where we define
 the determinant to be `1`. -/
@@ -378,9 +297,6 @@ theorem det_zero {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCommGroup M] [Mod
   simp only [← zero_smul 𝕜 (1 : M →ₗ[𝕜] M), det_smul, mul_one, MonoidHom.map_one]
 #align linear_map.det_zero LinearMap.det_zero
 
-/- warning: linear_map.det_eq_one_of_subsingleton -> LinearMap.det_eq_one_of_subsingleton is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.det_eq_one_of_subsingleton LinearMap.det_eq_one_of_subsingletonₓ'. -/
 theorem det_eq_one_of_subsingleton [Subsingleton M] (f : M →ₗ[R] M) : (f : M →ₗ[R] M).det = 1 :=
   by
   have b : Basis (Fin 0) R M := Basis.empty M
@@ -388,9 +304,6 @@ theorem det_eq_one_of_subsingleton [Subsingleton M] (f : M →ₗ[R] M) : (f : M
   exact Matrix.det_isEmpty
 #align linear_map.det_eq_one_of_subsingleton LinearMap.det_eq_one_of_subsingleton
 
-/- warning: linear_map.det_eq_one_of_finrank_eq_zero -> LinearMap.det_eq_one_of_finrank_eq_zero is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.det_eq_one_of_finrank_eq_zero LinearMap.det_eq_one_of_finrank_eq_zeroₓ'. -/
 theorem det_eq_one_of_finrank_eq_zero {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCommGroup M]
     [Module 𝕜 M] (h : FiniteDimensional.finrank 𝕜 M = 0) (f : M →ₗ[𝕜] M) :
     (f : M →ₗ[𝕜] M).det = 1 := by
@@ -403,9 +316,6 @@ theorem det_eq_one_of_finrank_eq_zero {𝕜 : Type _} [Field 𝕜] {M : Type _}
     exact Matrix.det_isEmpty
 #align linear_map.det_eq_one_of_finrank_eq_zero LinearMap.det_eq_one_of_finrank_eq_zero
 
-/- warning: linear_map.det_conj -> LinearMap.det_conj is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.det_conj LinearMap.det_conjₓ'. -/
 /-- Conjugating a linear map by a linear equiv does not change its determinant. -/
 @[simp]
 theorem det_conj {N : Type _} [AddCommGroup N] [Module A N] (f : M →ₗ[A] M) (e : M ≃ₗ[A] N) :
@@ -429,9 +339,6 @@ theorem det_conj {N : Type _} [AddCommGroup N] [Module A N] (f : M →ₗ[A] M)
       simp only [coe_det, H, H', Pi.one_apply, dif_neg, not_false_iff]
 #align linear_map.det_conj LinearMap.det_conj
 
-/- warning: linear_map.is_unit_det -> LinearMap.isUnit_det is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.is_unit_det LinearMap.isUnit_detₓ'. -/
 /-- If a linear map is invertible, so is its determinant. -/
 theorem isUnit_det {A : Type _} [CommRing A] [Module A M] (f : M →ₗ[A] M) (hf : IsUnit f) :
     IsUnit f.det := by
@@ -441,9 +348,6 @@ theorem isUnit_det {A : Type _} [CommRing A] [Module A M] (f : M →ₗ[A] M) (h
   exact isUnit_of_mul_eq_one _ _ this
 #align linear_map.is_unit_det LinearMap.isUnit_det
 
-/- warning: linear_map.finite_dimensional_of_det_ne_one -> LinearMap.finiteDimensional_of_det_ne_one is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.finite_dimensional_of_det_ne_one LinearMap.finiteDimensional_of_det_ne_oneₓ'. -/
 /-- If a linear map has determinant different from `1`, then the space is finite-dimensional. -/
 theorem finiteDimensional_of_det_ne_one {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] (f : M →ₗ[𝕜] M)
     (hf : f.det ≠ 1) : FiniteDimensional 𝕜 M :=
@@ -456,9 +360,6 @@ theorem finiteDimensional_of_det_ne_one {𝕜 : Type _} [Field 𝕜] [Module 
       exact hf.elim
 #align linear_map.finite_dimensional_of_det_ne_one LinearMap.finiteDimensional_of_det_ne_one
 
-/- warning: linear_map.range_lt_top_of_det_eq_zero -> LinearMap.range_lt_top_of_det_eq_zero is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.range_lt_top_of_det_eq_zero LinearMap.range_lt_top_of_det_eq_zeroₓ'. -/
 /-- If the determinant of a map vanishes, then the map is not onto. -/
 theorem range_lt_top_of_det_eq_zero {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] {f : M →ₗ[𝕜] M}
     (hf : f.det = 0) : f.range < ⊤ :=
@@ -469,9 +370,6 @@ theorem range_lt_top_of_det_eq_zero {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M]
   exact isUnit_iff_ne_zero.1 (f.is_unit_det hf)
 #align linear_map.range_lt_top_of_det_eq_zero LinearMap.range_lt_top_of_det_eq_zero
 
-/- warning: linear_map.bot_lt_ker_of_det_eq_zero -> LinearMap.bot_lt_ker_of_det_eq_zero is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.bot_lt_ker_of_det_eq_zero LinearMap.bot_lt_ker_of_det_eq_zeroₓ'. -/
 /-- If the determinant of a map vanishes, then the map is not injective. -/
 theorem bot_lt_ker_of_det_eq_zero {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] {f : M →ₗ[𝕜] M}
     (hf : f.det = 0) : ⊥ < f.ker :=
@@ -486,61 +384,37 @@ end LinearMap
 
 namespace LinearEquiv
 
-/- warning: linear_equiv.det -> LinearEquiv.det is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)], MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)], MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align linear_equiv.det LinearEquiv.detₓ'. -/
 /-- On a `linear_equiv`, the domain of `linear_map.det` can be promoted to `Rˣ`. -/
 protected def det : (M ≃ₗ[R] M) →* Rˣ :=
   (Units.map (LinearMap.det : (M →ₗ[R] M) →* R)).comp
     (LinearMap.GeneralLinearGroup.generalLinearEquiv R M).symm.toMonoidHom
 #align linear_equiv.det LinearEquiv.det
 
-/- warning: linear_equiv.coe_det -> LinearEquiv.coe_det is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_equiv.coe_det LinearEquiv.coe_detₓ'. -/
 @[simp]
 theorem coe_det (f : M ≃ₗ[R] M) : ↑f.det = LinearMap.det (f : M →ₗ[R] M) :=
   rfl
 #align linear_equiv.coe_det LinearEquiv.coe_det
 
-/- warning: linear_equiv.coe_inv_det -> LinearEquiv.coe_inv_det is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_equiv.coe_inv_det LinearEquiv.coe_inv_detₓ'. -/
 @[simp]
 theorem coe_inv_det (f : M ≃ₗ[R] M) : ↑f.det⁻¹ = LinearMap.det (f.symm : M →ₗ[R] M) :=
   rfl
 #align linear_equiv.coe_inv_det LinearEquiv.coe_inv_det
 
-/- warning: linear_equiv.det_refl -> LinearEquiv.det_refl is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_equiv.det_refl LinearEquiv.det_reflₓ'. -/
 @[simp]
 theorem det_refl : (LinearEquiv.refl R M).det = 1 :=
   Units.ext <| LinearMap.det_id
 #align linear_equiv.det_refl LinearEquiv.det_refl
 
-/- warning: linear_equiv.det_trans -> LinearEquiv.det_trans is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_equiv.det_trans LinearEquiv.det_transₓ'. -/
 @[simp]
 theorem det_trans (f g : M ≃ₗ[R] M) : (f.trans g).det = g.det * f.det :=
   map_mul _ g f
 #align linear_equiv.det_trans LinearEquiv.det_trans
 
-/- warning: linear_equiv.det_symm -> LinearEquiv.det_symm is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_equiv.det_symm LinearEquiv.det_symmₓ'. -/
 @[simp]
 theorem det_symm (f : M ≃ₗ[R] M) : f.symm.det = f.det⁻¹ :=
   map_inv _ f
 #align linear_equiv.det_symm LinearEquiv.det_symm
 
-/- warning: linear_equiv.det_conj -> LinearEquiv.det_conj is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_equiv.det_conj LinearEquiv.det_conjₓ'. -/
 /-- Conjugating a linear equiv by a linear equiv does not change its determinant. -/
 @[simp]
 theorem det_conj (f : M ≃ₗ[R] M) (e : M ≃ₗ[R] M') : ((e.symm.trans f).trans e).det = f.det := by
@@ -549,27 +423,18 @@ theorem det_conj (f : M ≃ₗ[R] M) (e : M ≃ₗ[R] M') : ((e.symm.trans f).tr
 
 end LinearEquiv
 
-/- warning: linear_equiv.det_mul_det_symm -> LinearEquiv.det_mul_det_symm is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_equiv.det_mul_det_symm LinearEquiv.det_mul_det_symmₓ'. -/
 /-- The determinants of a `linear_equiv` and its inverse multiply to 1. -/
 @[simp]
 theorem LinearEquiv.det_mul_det_symm {A : Type _} [CommRing A] [Module A M] (f : M ≃ₗ[A] M) :
     (f : M →ₗ[A] M).det * (f.symm : M →ₗ[A] M).det = 1 := by simp [← LinearMap.det_comp]
 #align linear_equiv.det_mul_det_symm LinearEquiv.det_mul_det_symm
 
-/- warning: linear_equiv.det_symm_mul_det -> LinearEquiv.det_symm_mul_det is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_equiv.det_symm_mul_det LinearEquiv.det_symm_mul_detₓ'. -/
 /-- The determinants of a `linear_equiv` and its inverse multiply to 1. -/
 @[simp]
 theorem LinearEquiv.det_symm_mul_det {A : Type _} [CommRing A] [Module A M] (f : M ≃ₗ[A] M) :
     (f.symm : M →ₗ[A] M).det * (f : M →ₗ[A] M).det = 1 := by simp [← LinearMap.det_comp]
 #align linear_equiv.det_symm_mul_det LinearEquiv.det_symm_mul_det
 
-/- warning: linear_equiv.is_unit_det -> LinearEquiv.isUnit_det is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_equiv.is_unit_det LinearEquiv.isUnit_detₓ'. -/
 -- Cannot be stated using `linear_map.det` because `f` is not an endomorphism.
 theorem LinearEquiv.isUnit_det (f : M ≃ₗ[R] M') (v : Basis ι R M) (v' : Basis ι R M') :
     IsUnit (LinearMap.toMatrix v v' f).det :=
@@ -578,27 +443,18 @@ theorem LinearEquiv.isUnit_det (f : M ≃ₗ[R] M') (v : Basis ι R M) (v' : Bas
   simpa using (LinearMap.toMatrix_comp v v' v f.symm f).symm
 #align linear_equiv.is_unit_det LinearEquiv.isUnit_det
 
-/- warning: linear_equiv.is_unit_det' -> LinearEquiv.isUnit_det' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_equiv.is_unit_det' LinearEquiv.isUnit_det'ₓ'. -/
 /-- Specialization of `linear_equiv.is_unit_det` -/
 theorem LinearEquiv.isUnit_det' {A : Type _} [CommRing A] [Module A M] (f : M ≃ₗ[A] M) :
     IsUnit (LinearMap.det (f : M →ₗ[A] M)) :=
   isUnit_of_mul_eq_one _ _ f.det_mul_det_symm
 #align linear_equiv.is_unit_det' LinearEquiv.isUnit_det'
 
-/- warning: linear_equiv.det_coe_symm -> LinearEquiv.det_coe_symm is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_equiv.det_coe_symm LinearEquiv.det_coe_symmₓ'. -/
 /-- The determinant of `f.symm` is the inverse of that of `f` when `f` is a linear equiv. -/
 theorem LinearEquiv.det_coe_symm {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] (f : M ≃ₗ[𝕜] M) :
     (f.symm : M →ₗ[𝕜] M).det = (f : M →ₗ[𝕜] M).det⁻¹ := by
   field_simp [IsUnit.ne_zero f.is_unit_det']
 #align linear_equiv.det_coe_symm LinearEquiv.det_coe_symm
 
-/- warning: linear_equiv.of_is_unit_det -> LinearEquiv.ofIsUnitDet is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_equiv.of_is_unit_det LinearEquiv.ofIsUnitDetₓ'. -/
 /-- Builds a linear equivalence from a linear map whose determinant in some bases is a unit. -/
 @[simps]
 def LinearEquiv.ofIsUnitDet {f : M →ₗ[R] M'} {v : Basis ι R M} {v' : Basis ι R M'}
@@ -623,18 +479,12 @@ def LinearEquiv.ofIsUnitDet {f : M →ₗ[R] M'} {v : Basis ι R M} {v' : Basis
       
 #align linear_equiv.of_is_unit_det LinearEquiv.ofIsUnitDet
 
-/- warning: linear_equiv.coe_of_is_unit_det -> LinearEquiv.coe_ofIsUnitDet is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_equiv.coe_of_is_unit_det LinearEquiv.coe_ofIsUnitDetₓ'. -/
 @[simp]
 theorem LinearEquiv.coe_ofIsUnitDet {f : M →ₗ[R] M'} {v : Basis ι R M} {v' : Basis ι R M'}
     (h : IsUnit (LinearMap.toMatrix v v' f).det) : (LinearEquiv.ofIsUnitDet h : M →ₗ[R] M') = f :=
   by ext x; rfl
 #align linear_equiv.coe_of_is_unit_det LinearEquiv.coe_ofIsUnitDet
 
-/- warning: linear_map.equiv_of_det_ne_zero -> LinearMap.equivOfDetNeZero is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.equiv_of_det_ne_zero LinearMap.equivOfDetNeZeroₓ'. -/
 /-- Builds a linear equivalence from a linear map on a finite-dimensional vector space whose
 determinant is nonzero. -/
 @[reducible]
@@ -648,9 +498,6 @@ def LinearMap.equivOfDetNeZero {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCom
   LinearEquiv.ofIsUnitDet this
 #align linear_map.equiv_of_det_ne_zero LinearMap.equivOfDetNeZero
 
-/- warning: linear_map.associated_det_of_eq_comp -> LinearMap.associated_det_of_eq_comp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.associated_det_of_eq_comp LinearMap.associated_det_of_eq_compₓ'. -/
 theorem LinearMap.associated_det_of_eq_comp (e : M ≃ₗ[R] M) (f f' : M →ₗ[R] M)
     (h : ∀ x, f x = f' (e x)) : Associated f.det f'.det :=
   by
@@ -659,9 +506,6 @@ theorem LinearMap.associated_det_of_eq_comp (e : M ≃ₗ[R] M) (f f' : M →ₗ
   exact Associated.mul_left _ (associated_one_iff_is_unit.mpr e.is_unit_det')
 #align linear_map.associated_det_of_eq_comp LinearMap.associated_det_of_eq_comp
 
-/- warning: linear_map.associated_det_comp_equiv -> LinearMap.associated_det_comp_equiv is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.associated_det_comp_equiv LinearMap.associated_det_comp_equivₓ'. -/
 theorem LinearMap.associated_det_comp_equiv {N : Type _} [AddCommGroup N] [Module R N]
     (f : N →ₗ[R] M) (e e' : M ≃ₗ[R] N) : Associated (f ∘ₗ ↑e).det (f ∘ₗ ↑e').det :=
   by
@@ -696,31 +540,13 @@ def Basis.det : AlternatingMap R M R ι
 #align basis.det Basis.det
 -/
 
-/- warning: basis.det_apply -> Basis.det_apply is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (v : ι -> M), Eq.{succ u1} R (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v) (Matrix.det.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (Basis.toMatrix.{u3, u3, u1, u2} ι ι R M (CommRing.toCommSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 e v))
-but is expected to have type
-  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] (e : Basis.{u1, u3, u2} ι R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (v : ι -> M), Eq.{succ u3} R (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (AlternatingMap.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (Basis.det.{u3, u2, u1} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v) (Matrix.det.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (Basis.toMatrix.{u1, u1, u3, u2} ι ι R M (CommRing.toCommSemiring.{u3} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 e v))
-Case conversion may be inaccurate. Consider using '#align basis.det_apply Basis.det_applyₓ'. -/
 theorem Basis.det_apply (v : ι → M) : e.det v = det (e.toMatrix v) :=
   rfl
 #align basis.det_apply Basis.det_apply
 
-/- warning: basis.det_self -> Basis.det_self is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3), Eq.{succ u1} R (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (fun (_x : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) e)) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))))))
-but is expected to have type
-  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] (e : Basis.{u1, u3, u2} ι R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3), Eq.{succ u3} R (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (AlternatingMap.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (Basis.det.{u3, u2, u1} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) e)) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align basis.det_self Basis.det_selfₓ'. -/
 theorem Basis.det_self : e.det e = 1 := by simp [e.det_apply]
 #align basis.det_self Basis.det_self
 
-/- warning: basis.det_is_empty -> Basis.det_isEmpty is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) [_inst_8 : IsEmpty.{succ u3} ι], Eq.{max (succ u2) (succ u1) (succ u3)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (AlternatingMap.constOfIsEmpty.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι _inst_8 (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))))
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) [_inst_8 : IsEmpty.{succ u3} ι], Eq.{max (max (succ u2) (succ u1)) (succ u3)} (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (AlternatingMap.constOfIsEmpty.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι _inst_8 (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))
-Case conversion may be inaccurate. Consider using '#align basis.det_is_empty Basis.det_isEmptyₓ'. -/
 @[simp]
 theorem Basis.det_isEmpty [IsEmpty ι] : e.det = AlternatingMap.constOfIsEmpty R M 1 :=
   by
@@ -728,22 +554,10 @@ theorem Basis.det_isEmpty [IsEmpty ι] : e.det = AlternatingMap.constOfIsEmpty R
   exact Matrix.det_isEmpty
 #align basis.det_is_empty Basis.det_isEmpty
 
-/- warning: basis.det_ne_zero -> Basis.det_ne_zero is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) [_inst_8 : Nontrivial.{u1} R], Ne.{max (succ u2) (succ u1) (succ u3)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (OfNat.ofNat.{max u2 u1 u3} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) 0 (OfNat.mk.{max u2 u1 u3} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) 0 (Zero.zero.{max u2 u1 u3} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (AlternatingMap.zero.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι))))
-but is expected to have type
-  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] (e : Basis.{u1, u3, u2} ι R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) [_inst_8 : Nontrivial.{u3} R], Ne.{max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (Basis.det.{u3, u2, u1} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (OfNat.ofNat.{max (max u3 u2) u1} (AlternatingMap.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) 0 (Zero.toOfNat0.{max (max u3 u2) u1} (AlternatingMap.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (AlternatingMap.zero.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι)))
-Case conversion may be inaccurate. Consider using '#align basis.det_ne_zero Basis.det_ne_zeroₓ'. -/
 /-- `basis.det` is not the zero map. -/
 theorem Basis.det_ne_zero [Nontrivial R] : e.det ≠ 0 := fun h => by simpa [h] using e.det_self
 #align basis.det_ne_zero Basis.det_ne_zero
 
-/- warning: is_basis_iff_det -> is_basis_iff_det is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) {v : ι -> M}, Iff (And (LinearIndependent.{u3, u1, u2} ι R M v (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Eq.{succ u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (Set.range.{u2, succ u3} M ι v)) (Top.top.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (IsUnit.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v))
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) {v : ι -> M}, Iff (And (LinearIndependent.{u3, u2, u1} ι R M v (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Eq.{succ u1} (Submodule.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.span.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 (Set.range.{u1, succ u3} M ι v)) (Top.top.{u1} (Submodule.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.instTopSubmodule.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (IsUnit.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v))
-Case conversion may be inaccurate. Consider using '#align is_basis_iff_det is_basis_iff_detₓ'. -/
 theorem is_basis_iff_det {v : ι → M} :
     LinearIndependent R v ∧ span R (Set.range v) = ⊤ ↔ IsUnit (e.det v) :=
   by
@@ -763,19 +577,10 @@ theorem is_basis_iff_det {v : ι → M} :
     exact ⟨v'.linear_independent, v'.span_eq⟩
 #align is_basis_iff_det is_basis_iff_det
 
-/- warning: basis.is_unit_det -> Basis.isUnit_det is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (e' : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3), IsUnit.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (fun (_x : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) e'))
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (e' : Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3), IsUnit.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) e'))
-Case conversion may be inaccurate. Consider using '#align basis.is_unit_det Basis.isUnit_detₓ'. -/
 theorem Basis.isUnit_det (e' : Basis ι R M) : IsUnit (e.det e') :=
   (is_basis_iff_det e).mp ⟨e'.LinearIndependent, e'.span_eq⟩
 #align basis.is_unit_det Basis.isUnit_det
 
-/- warning: alternating_map.eq_smul_basis_det -> AlternatingMap.eq_smul_basis_det is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align alternating_map.eq_smul_basis_det AlternatingMap.eq_smul_basis_detₓ'. -/
 /-- Any alternating map to `R` where `ι` has the cardinality of a basis equals the determinant
 map with respect to that basis, multiplied by the value of that alternating map on that basis. -/
 theorem AlternatingMap.eq_smul_basis_det (f : AlternatingMap R M R ι) : f = f e • e.det :=
@@ -786,9 +591,6 @@ theorem AlternatingMap.eq_smul_basis_det (f : AlternatingMap R M R ι) : f = f e
   simp [AlternatingMap.map_perm, Basis.det_self]
 #align alternating_map.eq_smul_basis_det AlternatingMap.eq_smul_basis_det
 
-/- warning: alternating_map.map_basis_eq_zero_iff -> AlternatingMap.map_basis_eq_zero_iff is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align alternating_map.map_basis_eq_zero_iff AlternatingMap.map_basis_eq_zero_iffₓ'. -/
 @[simp]
 theorem AlternatingMap.map_basis_eq_zero_iff {ι : Type _} [Finite ι] (e : Basis ι R M)
     (f : AlternatingMap R M R ι) : f e = 0 ↔ f = 0 :=
@@ -798,9 +600,6 @@ theorem AlternatingMap.map_basis_eq_zero_iff {ι : Type _} [Finite ι] (e : Basi
     simpa [h] using f.eq_smul_basis_det e, fun h => h.symm ▸ AlternatingMap.zero_apply _⟩
 #align alternating_map.map_basis_eq_zero_iff AlternatingMap.map_basis_eq_zero_iff
 
-/- warning: alternating_map.map_basis_ne_zero_iff -> AlternatingMap.map_basis_ne_zero_iff is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align alternating_map.map_basis_ne_zero_iff AlternatingMap.map_basis_ne_zero_iffₓ'. -/
 theorem AlternatingMap.map_basis_ne_zero_iff {ι : Type _} [Finite ι] (e : Basis ι R M)
     (f : AlternatingMap R M R ι) : f e ≠ 0 ↔ f ≠ 0 :=
   not_congr <| f.map_basis_eq_zero_iff e
@@ -808,9 +607,6 @@ theorem AlternatingMap.map_basis_ne_zero_iff {ι : Type _} [Finite ι] (e : Basi
 
 variable {A : Type _} [CommRing A] [Module A M]
 
-/- warning: basis.det_comp -> Basis.det_comp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align basis.det_comp Basis.det_compₓ'. -/
 @[simp]
 theorem Basis.det_comp (e : Basis ι A M) (f : M →ₗ[A] M) (v : ι → M) :
     e.det (f ∘ v) = f.det * e.det v := by
@@ -819,9 +615,6 @@ theorem Basis.det_comp (e : Basis ι A M) (f : M →ₗ[A] M) (v : ι → M) :
     e.constr_comp]
 #align basis.det_comp Basis.det_comp
 
-/- warning: basis.det_comp_basis -> Basis.det_comp_basis is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align basis.det_comp_basis Basis.det_comp_basisₓ'. -/
 @[simp]
 theorem Basis.det_comp_basis [Module A M'] (b : Basis ι A M) (b' : Basis ι A M') (f : M →ₗ[A] M') :
     b'.det (f ∘ b) = LinearMap.det (f ∘ₗ (b'.Equiv b (Equiv.refl ι) : M' →ₗ[A] M)) :=
@@ -832,45 +625,27 @@ theorem Basis.det_comp_basis [Module A M'] (b : Basis ι A M) (b' : Basis ι A M
   rw [Basis.toMatrix_apply, LinearMap.toMatrix_apply]
 #align basis.det_comp_basis Basis.det_comp_basis
 
-/- warning: basis.det_reindex -> Basis.det_reindex is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align basis.det_reindex Basis.det_reindexₓ'. -/
 theorem Basis.det_reindex {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (b : Basis ι R M) (v : ι' → M)
     (e : ι ≃ ι') : (b.reindex e).det v = b.det (v ∘ e) := by
   rw [Basis.det_apply, Basis.toMatrix_reindex', det_reindex_alg_equiv, Basis.det_apply]
 #align basis.det_reindex Basis.det_reindex
 
-/- warning: basis.det_reindex_symm -> Basis.det_reindex_symm is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align basis.det_reindex_symm Basis.det_reindex_symmₓ'. -/
 theorem Basis.det_reindex_symm {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (b : Basis ι R M)
     (v : ι → M) (e : ι' ≃ ι) : (b.reindex e.symm).det (v ∘ e) = b.det v := by
   rw [Basis.det_reindex, Function.comp.assoc, e.self_comp_symm, Function.comp.right_id]
 #align basis.det_reindex_symm Basis.det_reindex_symm
 
-/- warning: basis.det_map -> Basis.det_map is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align basis.det_map Basis.det_mapₓ'. -/
 @[simp]
 theorem Basis.det_map (b : Basis ι R M) (f : M ≃ₗ[R] M') (v : ι → M') :
     (b.map f).det v = b.det (f.symm ∘ v) := by
   rw [Basis.det_apply, Basis.toMatrix_map, Basis.det_apply]
 #align basis.det_map Basis.det_map
 
-/- warning: basis.det_map' -> Basis.det_map' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align basis.det_map' Basis.det_map'ₓ'. -/
 theorem Basis.det_map' (b : Basis ι R M) (f : M ≃ₗ[R] M') :
     (b.map f).det = b.det.compLinearMap f.symm :=
   AlternatingMap.ext <| b.det_map f
 #align basis.det_map' Basis.det_map'
 
-/- warning: pi.basis_fun_det -> Pi.basisFun_det is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι], Eq.{max (succ (max u2 u1)) (succ u1) (succ u2)} (AlternatingMap.{u1, max u2 u1, u1, u2} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (j : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, max u2 u1, u2} R _inst_1 (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (j : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Pi.Function.module.{u2, u1, u1} ι R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 (Pi.basisFun.{u1, u2} R ι (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_7)) (Matrix.detRowAlternating.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1)
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι], Eq.{max (succ u2) (succ u1)} (AlternatingMap.{u2, max u2 u1, u2, u1} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u1, u2} ι (fun (j : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (Pi.module.{u1, u2, u2} ι (fun (x._@.Mathlib.LinearAlgebra.StdBasis._hyg.3573 : ι) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (Basis.det.{u2, max u2 u1, u1} R _inst_1 (ι -> R) (Pi.addCommGroup.{u1, u2} ι (fun (j : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Pi.module.{u1, u2, u2} ι (fun (x._@.Mathlib.LinearAlgebra.StdBasis._hyg.3573 : ι) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 (Pi.basisFun.{u2, u1} R ι (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_7)) (Matrix.detRowAlternating.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1)
-Case conversion may be inaccurate. Consider using '#align pi.basis_fun_det Pi.basisFun_detₓ'. -/
 @[simp]
 theorem Pi.basisFun_det : (Pi.basisFun R ι).det = Matrix.detRowAlternating :=
   by
@@ -878,9 +653,6 @@ theorem Pi.basisFun_det : (Pi.basisFun R ι).det = Matrix.detRowAlternating :=
   rw [Basis.det_apply, Basis.coePiBasisFun.toMatrix_eq_transpose, det_transpose]
 #align pi.basis_fun_det Pi.basisFun_det
 
-/- warning: basis.det_smul_mk_coord_eq_det_update -> Basis.det_smul_mk_coord_eq_det_update is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align basis.det_smul_mk_coord_eq_det_update Basis.det_smul_mk_coord_eq_det_updateₓ'. -/
 /-- If we fix a background basis `e`, then for any other basis `v`, we can characterise the
 coordinates provided by `v` in terms of determinants relative to `e`. -/
 theorem Basis.det_smul_mk_coord_eq_det_update {v : ι → M} (hli : LinearIndependent R v)
@@ -897,12 +669,6 @@ theorem Basis.det_smul_mk_coord_eq_det_update {v : ι → M} (hli : LinearIndepe
     exact e.det.map_eq_zero_of_eq _ (by simp [hik, Function.update_apply]) hik
 #align basis.det_smul_mk_coord_eq_det_update Basis.det_smul_mk_coord_eq_det_update
 
-/- warning: basis.det_units_smul -> Basis.det_unitsSMul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (w : ι -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))), Eq.{max (succ u2) (succ u1) (succ u3)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 (Basis.unitsSMul.{u3, u1, u2} ι R M (CommRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 e w)) (SMul.smul.{u1, max u2 u1 u3} R (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (AlternatingMap.smul.{u1, u2, u1, u3, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Module.toDistribMulAction.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (smulCommClass_self.{u1, u1} R R (CommRing.toCommMonoid.{u1} R _inst_1) (Monoid.toMulAction.{u1} R (CommMonoid.toMonoid.{u1} R (CommRing.toCommMonoid.{u1} R _inst_1))))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (HasLiftT.mk.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (CoeTCₓ.coe.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (coeBase.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Units.hasCoe.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Inv.inv.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.hasInv.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Finset.prod.{u1, u3} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι (CommGroup.toCommMonoid.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.instCommGroupUnitsToMonoid.{u1} R (CommRing.toCommMonoid.{u1} R _inst_1))) (Finset.univ.{u3} ι _inst_7) (fun (i : ι) => w i)))) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e))
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (w : ι -> (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))), Eq.{max (max (succ u2) (succ u1)) (succ u3)} (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 (Basis.unitsSMul.{u3, u2, u1} ι R M (CommRing.toRing.{u2} R _inst_1) _inst_2 _inst_3 e w)) (HSMul.hSMul.{u2, max (max u2 u1) u3, max (max u2 u1) u3} R (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (instHSMul.{u2, max (max u2 u1) u3} R (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (AlternatingMap.smul.{u2, u1, u2, u3, u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (smulCommClass_self.{u2, u2} R R (CommRing.toCommMonoid.{u2} R _inst_1) (MulActionWithZero.toMulAction.{u2, u2} R R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (Units.val.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (Inv.inv.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instInv.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Finset.prod.{u2, u3} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) ι (CommGroup.toCommMonoid.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instCommGroupUnitsToMonoid.{u2} R (CommRing.toCommMonoid.{u2} R _inst_1))) (Finset.univ.{u3} ι _inst_7) (fun (i : ι) => w i)))) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e))
-Case conversion may be inaccurate. Consider using '#align basis.det_units_smul Basis.det_unitsSMulₓ'. -/
 /-- If a basis is multiplied columnwise by scalars `w : ι → Rˣ`, then the determinant with respect
 to this basis is multiplied by the product of the inverse of these scalars. -/
 theorem Basis.det_unitsSMul (e : Basis ι R M) (w : ι → Rˣ) :
@@ -917,24 +683,12 @@ theorem Basis.det_unitsSMul (e : Basis ι R M) (w : ι → Rˣ) :
   simp [← Finset.prod_inv_distrib]
 #align basis.det_units_smul Basis.det_unitsSMul
 
-/- warning: basis.det_units_smul_self -> Basis.det_unitsSMul_self is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (w : ι -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))), Eq.{succ u1} R (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (fun (_x : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (Basis.unitsSMul.{u3, u1, u2} ι R M (CommRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 e w))) (Finset.prod.{u1, u3} R ι (CommRing.toCommMonoid.{u1} R _inst_1) (Finset.univ.{u3} ι _inst_7) (fun (i : ι) => (fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (HasLiftT.mk.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (CoeTCₓ.coe.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (coeBase.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Units.hasCoe.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (w i)))
-but is expected to have type
-  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] (e : Basis.{u1, u3, u2} ι R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (w : ι -> (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))), Eq.{succ u3} R (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (AlternatingMap.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (Basis.det.{u3, u2, u1} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Basis.unitsSMul.{u1, u3, u2} ι R M (CommRing.toRing.{u3} R _inst_1) _inst_2 _inst_3 e w))) (Finset.prod.{u3, u1} R ι (CommRing.toCommMonoid.{u3} R _inst_1) (Finset.univ.{u1} ι _inst_7) (fun (i : ι) => Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (w i)))
-Case conversion may be inaccurate. Consider using '#align basis.det_units_smul_self Basis.det_unitsSMul_selfₓ'. -/
 /-- The determinant of a basis constructed by `units_smul` is the product of the given units. -/
 @[simp]
 theorem Basis.det_unitsSMul_self (w : ι → Rˣ) : e.det (e.units_smul w) = ∏ i, w i := by
   simp [Basis.det_apply]
 #align basis.det_units_smul_self Basis.det_unitsSMul_self
 
-/- warning: basis.det_is_unit_smul -> Basis.det_isUnitSMul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) {w : ι -> R} (hw : forall (i : ι), IsUnit.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (w i)), Eq.{succ u1} R (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (fun (_x : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (Basis.isUnitSMul.{u3, u1, u2} ι R M (CommRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 e (fun (i : ι) => w i) hw))) (Finset.prod.{u1, u3} R ι (CommRing.toCommMonoid.{u1} R _inst_1) (Finset.univ.{u3} ι _inst_7) (fun (i : ι) => w i))
-but is expected to have type
-  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] (e : Basis.{u1, u3, u2} ι R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) {w : ι -> R} (hw : forall (i : ι), IsUnit.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (w i)), Eq.{succ u3} R (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (AlternatingMap.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (Basis.det.{u3, u2, u1} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Basis.isUnitSMul.{u1, u3, u2} ι R M (CommRing.toRing.{u3} R _inst_1) _inst_2 _inst_3 e (fun (i : ι) => w i) hw))) (Finset.prod.{u3, u1} R ι (CommRing.toCommMonoid.{u3} R _inst_1) (Finset.univ.{u1} ι _inst_7) (fun (i : ι) => w i))
-Case conversion may be inaccurate. Consider using '#align basis.det_is_unit_smul Basis.det_isUnitSMulₓ'. -/
 /-- The determinant of a basis constructed by `is_unit_smul` is the product of the given units. -/
 @[simp]
 theorem Basis.det_isUnitSMul {w : ι → R} (hw : ∀ i, IsUnit (w i)) :
Diff
@@ -195,10 +195,7 @@ Case conversion may be inaccurate. Consider using '#align linear_map.det_aux_def
 See also `det_aux_def'` which allows you to vary the basis.
 -/
 theorem detAux_def' (b : Basis ι A M) (f : M →ₗ[A] M) :
-    LinearMap.detAux (Trunc.mk b) f = Matrix.det (LinearMap.toMatrix b b f) :=
-  by
-  rw [det_aux]
-  rfl
+    LinearMap.detAux (Trunc.mk b) f = Matrix.det (LinearMap.toMatrix b b f) := by rw [det_aux]; rfl
 #align linear_map.det_aux_def LinearMap.detAux_def'
 
 /- warning: linear_map.det_aux_def' -> LinearMap.detAux_def'' is a dubious translation:
@@ -206,11 +203,8 @@ theorem detAux_def' (b : Basis ι A M) (f : M →ₗ[A] M) :
 Case conversion may be inaccurate. Consider using '#align linear_map.det_aux_def' LinearMap.detAux_def''ₓ'. -/
 theorem detAux_def'' {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (tb : Trunc <| Basis ι A M)
     (b' : Basis ι' A M) (f : M →ₗ[A] M) :
-    LinearMap.detAux tb f = Matrix.det (LinearMap.toMatrix b' b' f) :=
-  by
-  apply Trunc.induction_on tb
-  intro b
-  rw [det_aux_def, det_to_matrix_eq_det_to_matrix b b']
+    LinearMap.detAux tb f = Matrix.det (LinearMap.toMatrix b' b' f) := by
+  apply Trunc.induction_on tb; intro b; rw [det_aux_def, det_to_matrix_eq_det_to_matrix b b']
 #align linear_map.det_aux_def' LinearMap.detAux_def''
 
 /- warning: linear_map.det_aux_id -> LinearMap.detAux_id is a dubious translation:
@@ -256,8 +250,7 @@ theorem coe_det [DecidableEq M] :
         LinearMap.detAux (Trunc.mk H.choose_spec.some)
       else 1 :=
   by
-  ext
-  unfold LinearMap.det
+  ext; unfold LinearMap.det
   split_ifs
   · congr
   -- use the correct `decidable_eq` instance
@@ -353,8 +346,7 @@ theorem det_smul {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCommGroup M] [Mod
     (f : M →ₗ[𝕜] M) : LinearMap.det (c • f) = c ^ FiniteDimensional.finrank 𝕜 M * LinearMap.det f :=
   by
   by_cases H : ∃ s : Finset M, Nonempty (Basis s 𝕜 M)
-  · have : FiniteDimensional 𝕜 M := by
-      rcases H with ⟨s, ⟨hs⟩⟩
+  · have : FiniteDimensional 𝕜 M := by rcases H with ⟨s, ⟨hs⟩⟩;
       exact FiniteDimensional.of_fintype_basis hs
     simp only [← det_to_matrix (FiniteDimensional.finBasis 𝕜 M), LinearEquiv.map_smul,
       Fintype.card_fin, det_smul]
@@ -370,8 +362,7 @@ Case conversion may be inaccurate. Consider using '#align linear_map.det_zero' L
 theorem det_zero' {ι : Type _} [Finite ι] [Nonempty ι] (b : Basis ι A M) :
     LinearMap.det (0 : M →ₗ[A] M) = 0 :=
   by
-  haveI := Classical.decEq ι
-  cases nonempty_fintype ι
+  haveI := Classical.decEq ι; cases nonempty_fintype ι
   rwa [← det_to_matrix b, LinearEquiv.map_zero, det_zero]
 #align linear_map.det_zero' LinearMap.det_zero'
 
@@ -458,8 +449,7 @@ theorem finiteDimensional_of_det_ne_one {𝕜 : Type _} [Field 𝕜] [Module 
     (hf : f.det ≠ 1) : FiniteDimensional 𝕜 M :=
   by
   by_cases H : ∃ s : Finset M, Nonempty (Basis s 𝕜 M)
-  · rcases H with ⟨s, ⟨hs⟩⟩
-    exact FiniteDimensional.of_fintype_basis hs
+  · rcases H with ⟨s, ⟨hs⟩⟩; exact FiniteDimensional.of_fintype_basis hs
   ·
     classical
       simp [LinearMap.coe_det, H] at hf
@@ -639,9 +629,7 @@ Case conversion may be inaccurate. Consider using '#align linear_equiv.coe_of_is
 @[simp]
 theorem LinearEquiv.coe_ofIsUnitDet {f : M →ₗ[R] M'} {v : Basis ι R M} {v' : Basis ι R M'}
     (h : IsUnit (LinearMap.toMatrix v v' f).det) : (LinearEquiv.ofIsUnitDet h : M →ₗ[R] M') = f :=
-  by
-  ext x
-  rfl
+  by ext x; rfl
 #align linear_equiv.coe_of_is_unit_det LinearEquiv.coe_ofIsUnitDet
 
 /- warning: linear_map.equiv_of_det_ne_zero -> LinearMap.equivOfDetNeZero is a dubious translation:
@@ -666,11 +654,7 @@ Case conversion may be inaccurate. Consider using '#align linear_map.associated_
 theorem LinearMap.associated_det_of_eq_comp (e : M ≃ₗ[R] M) (f f' : M →ₗ[R] M)
     (h : ∀ x, f x = f' (e x)) : Associated f.det f'.det :=
   by
-  suffices Associated (f' ∘ₗ ↑e).det f'.det
-    by
-    convert this using 2
-    ext x
-    exact h x
+  suffices Associated (f' ∘ₗ ↑e).det f'.det by convert this using 2; ext x; exact h x
   rw [← mul_one f'.det, LinearMap.det_comp]
   exact Associated.mul_left _ (associated_one_iff_is_unit.mpr e.is_unit_det')
 #align linear_map.associated_det_of_eq_comp LinearMap.associated_det_of_eq_comp
@@ -773,8 +757,7 @@ theorem is_basis_iff_det {v : ι → M} :
   · intro h
     rw [Basis.det_apply, Basis.toMatrix_eq_toMatrix_constr] at h
     set v' := Basis.map e (LinearEquiv.ofIsUnitDet h) with v'_def
-    have : ⇑v' = v := by
-      ext i
+    have : ⇑v' = v := by ext i;
       rw [v'_def, Basis.map_apply, LinearEquiv.ofIsUnitDet_apply, e.constr_basis]
     rw [← this]
     exact ⟨v'.linear_independent, v'.span_eq⟩
@@ -909,8 +892,7 @@ theorem Basis.det_smul_mk_coord_eq_det_update {v : ι → M} (hli : LinearIndepe
   rcases eq_or_ne k i with (rfl | hik) <;>
     simp only [Algebra.id.smul_eq_mul, Basis.coe_mk, LinearMap.smul_apply, LinearMap.coe_mk,
       MultilinearMap.toLinearMap_apply]
-  · rw [Basis.mk_coord_apply_eq, mul_one, update_eq_self]
-    congr
+  · rw [Basis.mk_coord_apply_eq, mul_one, update_eq_self]; congr
   · rw [Basis.mk_coord_apply_ne hik, MulZeroClass.mul_zero, eq_comm]
     exact e.det.map_eq_zero_of_eq _ (by simp [hik, Function.update_apply]) hik
 #align basis.det_smul_mk_coord_eq_det_update Basis.det_smul_mk_coord_eq_det_update
Diff
@@ -160,10 +160,7 @@ variable {A : Type _} [CommRing A] [Module A M]
 variable {κ : Type _} [Fintype κ]
 
 /- warning: linear_map.det_to_matrix_eq_det_to_matrix -> LinearMap.det_toMatrix_eq_det_toMatrix is a dubious translation:
-lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Module.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {κ : Type.{u4}} [_inst_10 : Fintype.{u4} κ] [_inst_11 : DecidableEq.{succ u4} κ] (b : Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (c : Basis.{u4, u3, u1} κ A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u3} A (Matrix.det.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (coeFn.{max (succ u1) (succ (max u2 u3)), max (succ u1) (succ (max u2 u3))} (LinearEquiv.{u3, u3, u1, max u2 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (fun (_x : LinearEquiv.{u3, u3, u1, max u2 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) => (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> (Matrix.{u2, u2, u3} ι ι A)) (LinearEquiv.hasCoeToFun.{u3, u3, u1, max u2 u3} A A (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))) (LinearMap.toMatrix.{u3, u2, u2, u1, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f)) (Matrix.det.{u3, u4} κ (fun (a : κ) (b : κ) => _inst_11 a b) _inst_10 A _inst_8 (coeFn.{max (succ u1) (succ (max u4 u3)), max (succ u1) (succ (max u4 u3))} (LinearEquiv.{u3, u3, u1, max u4 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u3} κ κ A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u4, u4, u3} κ κ A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (fun (_x : LinearEquiv.{u3, u3, u1, max u4 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u3} κ κ A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u4, u4, u3} κ κ A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) => (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> (Matrix.{u4, u4, u3} κ κ A)) (LinearEquiv.hasCoeToFun.{u3, u3, u1, max u4 u3} A A (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u3} κ κ A) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u4, u4, u3} κ κ A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))) (LinearMap.toMatrix.{u3, u4, u4, u1, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) κ κ _inst_10 _inst_10 (fun (a : κ) (b : κ) => _inst_11 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 c c) f))
-but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {κ : Type.{u4}} [_inst_10 : Fintype.{u4} κ] [_inst_11 : DecidableEq.{succ u4} κ] (b : Basis.{u3, u2, u1} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (c : Basis.{u4, u2, u1} κ A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} A (Matrix.det.{u2, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => Matrix.{u3, u3, u2} ι ι A) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (SMulZeroClass.toSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toZero.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toAddZeroClass.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u1 u3) u2} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u1 u3) u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u3, u3, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f)) (Matrix.det.{u2, u4} κ (fun (a : κ) (b : κ) => _inst_11 a b) _inst_10 A _inst_8 (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), succ u1, max (succ u2) (succ u4)} (LinearEquiv.{u2, u2, u1, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => Matrix.{u4, u4, u2} κ κ A) _x) (SMulHomClass.toFunLike.{max (max u1 u2) u4, u2, u1, max u2 u4} (LinearEquiv.{u2, u2, u1, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (SMulZeroClass.toSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u2 u4} A (Matrix.{u4, u4, u2} κ κ A) (AddMonoid.toZero.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u4} A (Matrix.{u4, u4, u2} κ κ A) (AddMonoid.toAddZeroClass.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u4} A (Matrix.{u4, u4, u2} κ κ A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u2 u4} A (Matrix.{u4, u4, u2} κ κ A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u2) u4, u2, u1, max u2 u4} (LinearEquiv.{u2, u2, u1, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u2 u4} A (Matrix.{u4, u4, u2} κ κ A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u2 u4, max (max u1 u2) u4} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearEquiv.{u2, u2, u1, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u2 u4, max (max u1 u2) u4} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearEquiv.{u2, u2, u1, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u2 u4} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u4, u4, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) κ κ _inst_10 _inst_10 (fun (a : κ) (b : κ) => _inst_11 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 c c) f))
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_map.det_to_matrix_eq_det_to_matrix LinearMap.det_toMatrix_eq_det_toMatrixₓ'. -/
 /-- The determinant of `linear_map.to_matrix` does not depend on the choice of basis. -/
 theorem det_toMatrix_eq_det_toMatrix [DecidableEq κ] (b : Basis ι A M) (c : Basis κ A M)
@@ -191,10 +188,7 @@ irreducible_def detAux : Trunc (Basis ι A M) → (M →ₗ[A] M) →* A :=
 -/
 
 /- warning: linear_map.det_aux_def -> LinearMap.detAux_def' is a dubious translation:
-lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Module.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (b : Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u3} A (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.detAux.{u1, u2, u3} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 (Trunc.mk.{max (succ u2) (succ u3) (succ u1)} (Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) b)) f) (Matrix.det.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (coeFn.{max (succ u1) (succ (max u2 u3)), max (succ u1) (succ (max u2 u3))} (LinearEquiv.{u3, u3, u1, max u2 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (fun (_x : LinearEquiv.{u3, u3, u1, max u2 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) => (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> (Matrix.{u2, u2, u3} ι ι A)) (LinearEquiv.hasCoeToFun.{u3, u3, u1, max u2 u3} A A (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))) (LinearMap.toMatrix.{u3, u2, u2, u1, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f))
-but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (b : Basis.{u3, u2, u1} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.detAux.{u1, u3, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 (Trunc.mk.{max (max (succ u2) (succ u3)) (succ u1)} (Basis.{u3, u2, u1} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) b)) f) (Matrix.det.{u2, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => Matrix.{u3, u3, u2} ι ι A) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (SMulZeroClass.toSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toZero.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toAddZeroClass.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u1 u3) u2} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u1 u3) u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u3, u3, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f))
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_map.det_aux_def LinearMap.detAux_def'ₓ'. -/
 /-- Unfold lemma for `det_aux`.
 
@@ -208,10 +202,7 @@ theorem detAux_def' (b : Basis ι A M) (f : M →ₗ[A] M) :
 #align linear_map.det_aux_def LinearMap.detAux_def'
 
 /- warning: linear_map.det_aux_def' -> LinearMap.detAux_def'' is a dubious translation:
-lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Module.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι' : Type.{u4}} [_inst_11 : Fintype.{u4} ι'] [_inst_12 : DecidableEq.{succ u4} ι'] (tb : Trunc.{max (succ u2) (succ u3) (succ u1)} (Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (b' : Basis.{u4, u3, u1} ι' A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u3} A (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.detAux.{u1, u2, u3} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 tb) f) (Matrix.det.{u3, u4} ι' (fun (a : ι') (b : ι') => _inst_12 a b) _inst_11 A _inst_8 (coeFn.{max (succ u1) (succ (max u4 u3)), max (succ u1) (succ (max u4 u3))} (LinearEquiv.{u3, u3, u1, max u4 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u3} ι' ι' A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u4, u4, u3} ι' ι' A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (fun (_x : LinearEquiv.{u3, u3, u1, max u4 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u3} ι' ι' A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u4, u4, u3} ι' ι' A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) => (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> (Matrix.{u4, u4, u3} ι' ι' A)) (LinearEquiv.hasCoeToFun.{u3, u3, u1, max u4 u3} A A (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u3} ι' ι' A) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u4, u4, u3} ι' ι' A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))) (LinearMap.toMatrix.{u3, u4, u4, u1, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) ι' ι' _inst_11 _inst_11 (fun (a : ι') (b : ι') => _inst_12 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b' b') f))
-but is expected to have type
-  forall {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] {ι' : Type.{u4}} [_inst_11 : Fintype.{u4} ι'] [_inst_12 : DecidableEq.{succ u4} ι'] (tb : Trunc.{max (max (succ u3) (succ u2)) (succ u1)} (Basis.{u1, u2, u3} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (b' : Basis.{u4, u2, u3} ι' A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.detAux.{u3, u1, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 tb) f) (Matrix.det.{u2, u4} ι' (fun (a : ι') (b : ι') => _inst_12 a b) _inst_11 A _inst_8 (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u4), succ u3, max (succ u2) (succ u4)} (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => Matrix.{u4, u4, u2} ι' ι' A) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u4, u2, u3, max u2 u4} (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (SMulZeroClass.toSMul.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (AddMonoid.toZero.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (AddMonoid.toAddZeroClass.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u4, u2, u3, max u2 u4} (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u3, max u2 u4, max (max u3 u2) u4} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u3, max u2 u4, max (max u3 u2) u4} A A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u3, max u2 u4} A A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u4, u4, u3, u3} A (CommRing.toCommSemiring.{u2} A _inst_8) ι' ι' _inst_11 _inst_11 (fun (a : ι') (b : ι') => _inst_12 a b) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 b' b') f))
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_map.det_aux_def' LinearMap.detAux_def''ₓ'. -/
 theorem detAux_def'' {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (tb : Trunc <| Basis ι A M)
     (b' : Basis ι' A M) (f : M →ₗ[A] M) :
@@ -223,10 +214,7 @@ theorem detAux_def'' {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (tb : Trunc
 #align linear_map.det_aux_def' LinearMap.detAux_def''
 
 /- warning: linear_map.det_aux_id -> LinearMap.detAux_id is a dubious translation:
-lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Module.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (b : Trunc.{max (succ u2) (succ u3) (succ u1)} (Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)), Eq.{succ u3} A (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.detAux.{u1, u2, u3} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) (LinearMap.id.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (OfNat.ofNat.{u3} A 1 (OfNat.mk.{u3} A 1 (One.one.{u3} A (AddMonoidWithOne.toOne.{u3} A (AddGroupWithOne.toAddMonoidWithOne.{u3} A (AddCommGroupWithOne.toAddGroupWithOne.{u3} A (Ring.toAddCommGroupWithOne.{u3} A (CommRing.toRing.{u3} A _inst_8))))))))
-but is expected to have type
-  forall {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (b : Trunc.{max (max (succ u3) (succ u2)) (succ u1)} (Basis.{u1, u2, u3} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.detAux.{u3, u1, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) (LinearMap.id.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (Semiring.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) _inst_8)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_map.det_aux_id LinearMap.detAux_idₓ'. -/
 @[simp]
 theorem detAux_id (b : Trunc <| Basis ι A M) : LinearMap.detAux b LinearMap.id = 1 :=
@@ -234,10 +222,7 @@ theorem detAux_id (b : Trunc <| Basis ι A M) : LinearMap.detAux b LinearMap.id
 #align linear_map.det_aux_id LinearMap.detAux_id
 
 /- warning: linear_map.det_aux_comp -> LinearMap.detAux_comp is a dubious translation:
-lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Module.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (b : Trunc.{max (succ u2) (succ u3) (succ u1)} (Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (f : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (g : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u3} A (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.detAux.{u1, u2, u3} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) (LinearMap.comp.{u3, u3, u3, u1, u1, u1} A A A M M M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) (RingHomCompTriple.right_ids.{u3, u3} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))))) f g)) (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (Ring.toDistrib.{u3} A (CommRing.toRing.{u3} A _inst_8)))) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.detAux.{u1, u2, u3} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) f) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.detAux.{u1, u2, u3} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) g))
-but is expected to have type
-  forall {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (b : Trunc.{max (max (succ u3) (succ u2)) (succ u1)} (Basis.{u1, u2, u3} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (f : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (g : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.comp.{u2, u2, u2, u3, u3, u3} A A A M M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) f g)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.detAux.{u3, u1, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) (LinearMap.comp.{u2, u2, u2, u3, u3, u3} A A A M M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) f g)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) _inst_8))))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.detAux.{u3, u1, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) f) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.detAux.{u3, u1, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) g))
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_map.det_aux_comp LinearMap.detAux_compₓ'. -/
 @[simp]
 theorem detAux_comp (b : Trunc <| Basis ι A M) (f g : M →ₗ[A] M) :
@@ -263,10 +248,7 @@ protected irreducible_def det : (M →ₗ[A] M) →* A :=
 -/
 
 /- warning: linear_map.coe_det -> LinearMap.coe_det is a dubious translation:
-lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] [_inst_11 : DecidableEq.{succ u1} M], Eq.{max (succ u1) (succ u2)} ((LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9)) (dite.{max (succ u1) (succ u2)} ((LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (Exists.{succ u1} (Finset.{u1} M) (fun (s : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))) (Classical.propDecidable (Exists.{succ u1} (Finset.{u1} M) (fun (s : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (fun (H : Exists.{succ u1} (Finset.{u1} M) (fun (s : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))) => coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.detAux.{u1, u1, u2} M _inst_2 (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) (Exists.choose.{succ u1} (Finset.{u1} M) (fun (a : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) a) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) H)) (fun (a : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) (Exists.choose.{succ u1} (Finset.{u1} M) (fun (a : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) a) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) H)) (b : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) (Exists.choose.{succ u1} (Finset.{u1} M) (fun (a : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) a) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) H)) => Subtype.decidableEq.{u1} M (fun (x : M) => Membership.Mem.{u1, u1} M (Finset.{u1} M) (Finset.hasMem.{u1} M) x (Exists.choose.{succ u1} (Finset.{u1} M) (fun (a : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) a) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) H)) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u1} M (Exists.choose.{succ u1} (Finset.{u1} M) (fun (a : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) a) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) H)) A _inst_8 _inst_9 (Trunc.mk.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) (Exists.choose.{succ u1} (Finset.{u1} M) (fun (a : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) a) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) H)) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (Nonempty.some.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) (Exists.choose.{succ u1} (Finset.{u1} M) (fun (a : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) a) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) H)) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (Exists.choose_spec.{succ u1} (Finset.{u1} M) (fun (s : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) H))))) (fun (H : Not (Exists.{succ u1} (Finset.{u1} M) (fun (s : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) => OfNat.ofNat.{max u1 u2} ((LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) 1 (OfNat.mk.{max u1 u2} ((LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) 1 (One.one.{max u1 u2} ((LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (Pi.instOne.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (ᾰ : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (fun (i : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => AddMonoidWithOne.toOne.{u2} A (AddGroupWithOne.toAddMonoidWithOne.{u2} A (AddCommGroupWithOne.toAddGroupWithOne.{u2} A (Ring.toAddCommGroupWithOne.{u2} A (CommRing.toRing.{u2} A _inst_8))))))))))
-but is expected to have type
-  forall {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] [_inst_9 : Module.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_11 : DecidableEq.{succ u2} M], Eq.{max (succ u2) (succ u1)} (forall (ᾰ : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.det.{u2, u1} M _inst_2 A _inst_8 _inst_9)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (a : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) a) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (dite.{max (succ u1) (succ u2)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Exists.{succ u2} (Finset.{u2} M) (fun (s : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))) (Classical.propDecidable (Exists.{succ u2} (Finset.{u2} M) (fun (s : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (fun (H : Exists.{succ u2} (Finset.{u2} M) (fun (s : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))) => LinearMap.detAux.{u2, u2, u1} M _inst_2 (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H))) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H))) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H))) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H)) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u2} M (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H)) A _inst_8 _inst_9 (Trunc.mk.{max (succ u1) (succ u2)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H))) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9) (Nonempty.some.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H))) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9) (Exists.choose_spec.{succ u2} (Finset.{u2} M) (fun (s : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H)))) (fun (H : Not (Exists.{succ u2} (Finset.{u2} M) (fun (s : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) => OfNat.ofNat.{max u2 u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) 1 (One.toOfNat1.{max u2 u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (instOneMonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_map.coe_det LinearMap.coe_detₓ'. -/
 theorem coe_det [DecidableEq M] :
     ⇑(LinearMap.det : (M →ₗ[A] M) →* A) =
@@ -285,10 +267,7 @@ theorem coe_det [DecidableEq M] :
 end
 
 /- warning: linear_map.det_eq_det_to_matrix_of_finset -> LinearMap.det_eq_det_toMatrix_of_finset is a dubious translation:
-lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] [_inst_11 : DecidableEq.{succ u1} M] {s : Finset.{u1} M} (b : Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} A (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f) (Matrix.det.{u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (fun (a : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (b : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) => Subtype.decidableEq.{u1} M (fun (x : M) => Membership.Mem.{u1, u1} M (Finset.{u1} M) (Finset.hasMem.{u1} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u1} M s) A _inst_8 (coeFn.{max (succ u1) (succ (max u1 u2)), max (succ u1) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u1, max u1 u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.toMatrix._proof_2.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.module.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u2, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u2, u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (fun (_x : LinearEquiv.{u2, u2, u1, max u1 u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.toMatrix._proof_2.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.module.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u2, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u2, u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) => (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A)) (LinearEquiv.hasCoeToFun.{u2, u2, u1, max u1 u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.module.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u2, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u2, u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.toMatrix._proof_2.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.toMatrix.{u2, u1, u1, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (Finset.Subtype.fintype.{u1} M s) (Finset.Subtype.fintype.{u1} M s) (fun (a : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (b : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) => Subtype.decidableEq.{u1} M (fun (x : M) => Membership.Mem.{u1, u1} M (Finset.{u1} M) (Finset.hasMem.{u1} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f))
-but is expected to have type
-  forall {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] [_inst_9 : Module.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_11 : DecidableEq.{succ u2} M] {s : Finset.{u2} M} (b : Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9) (f : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.det.{u2, u1} M _inst_2 A _inst_8 _inst_9) f) (Matrix.det.{u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u2} M s) A _inst_8 (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, u2, max u2 u1} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (SMulZeroClass.toSMul.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Module.toDistribMulAction.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, u2, max u2 u1} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, max u2 u1, max u2 u1} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, max u2 u1} A A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.toMatrix.{u1, u2, u2, u2, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Finset.Subtype.fintype.{u2} M s) (Finset.Subtype.fintype.{u2} M s) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 b b) f))
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_map.det_eq_det_to_matrix_of_finset LinearMap.det_eq_det_toMatrix_of_finsetₓ'. -/
 -- Auxiliary lemma, the `simp` normal form goes in the other direction
 -- (using `linear_map.det_to_matrix`)
@@ -300,10 +279,7 @@ theorem det_eq_det_toMatrix_of_finset [DecidableEq M] {s : Finset M} (b : Basis
 #align linear_map.det_eq_det_to_matrix_of_finset LinearMap.det_eq_det_toMatrix_of_finset
 
 /- warning: linear_map.det_to_matrix -> LinearMap.det_toMatrix is a dubious translation:
-lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Module.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (b : Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u3} A (Matrix.det.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (coeFn.{max (succ u1) (succ (max u2 u3)), max (succ u1) (succ (max u2 u3))} (LinearEquiv.{u3, u3, u1, max u2 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (fun (_x : LinearEquiv.{u3, u3, u1, max u2 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) => (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> (Matrix.{u2, u2, u3} ι ι A)) (LinearEquiv.hasCoeToFun.{u3, u3, u1, max u2 u3} A A (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))) (LinearMap.toMatrix.{u3, u2, u2, u1, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f)) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.det.{u1, u3} M _inst_2 A _inst_8 _inst_9) f)
-but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (b : Basis.{u3, u2, u1} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} A (Matrix.det.{u2, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => Matrix.{u3, u3, u2} ι ι A) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (SMulZeroClass.toSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toZero.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toAddZeroClass.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u1 u3) u2} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u1 u3) u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u3, u3, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f)
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_map.det_to_matrix LinearMap.det_toMatrixₓ'. -/
 @[simp]
 theorem det_toMatrix (b : Basis ι A M) (f : M →ₗ[A] M) : Matrix.det (toMatrix b b f) = f.det :=
@@ -313,10 +289,7 @@ theorem det_toMatrix (b : Basis ι A M) (f : M →ₗ[A] M) : Matrix.det (toMatr
 #align linear_map.det_to_matrix LinearMap.det_toMatrix
 
 /- warning: linear_map.det_to_matrix' -> LinearMap.det_toMatrix' is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {ι : Type.{u2}} [_inst_11 : Fintype.{u2} ι] [_inst_12 : DecidableEq.{succ u2} ι] (f : LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))), Eq.{succ u1} A (Matrix.det.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_12 a b) _inst_11 A _inst_8 (coeFn.{succ (max u2 u1), succ (max u2 u1)} (LinearEquiv.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_1.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.toMatrix'._proof_2.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_3.{u1, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι)) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (_x : LinearEquiv.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_1.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.toMatrix'._proof_2.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_3.{u1, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι)) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) -> (Matrix.{u2, u2, u1} ι ι A)) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_3.{u1, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι)) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_1.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.toMatrix'._proof_2.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.toMatrix'.{u1, u2, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι ι _inst_11 (fun (a : ι) (b : ι) => _inst_12 a b)) f)) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ (max u2 u1)) (succ u1)} (MonoidHom.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u2 u1} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (fun (_x : MonoidHom.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u2 u1} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) => (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) -> A) (MonoidHom.hasCoeToFun.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u2 u1} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.det.{max u2 u1, u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A _inst_8 (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) f)
-but is expected to have type
-  forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {ι : Type.{u2}} [_inst_11 : Fintype.{u2} ι] [_inst_12 : DecidableEq.{succ u2} ι] (f : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))), Eq.{succ u1} A (Matrix.det.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_12 a b) _inst_11 A _inst_8 (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (_x : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => Matrix.{u2, u2, u1} ι ι A) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (SMulZeroClass.toSMul.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddMonoid.toZero.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddMonoid.toAddZeroClass.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Module.toDistribMulAction.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, max u2 u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.toMatrix'.{u1, u2, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι ι _inst_11 (fun (a : ι) (b : ι) => _inst_12 a b)) f)) (FunLike.coe.{max (succ u1) (succ (max u1 u2)), succ (max u1 u2), succ u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (_x : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => A) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulOneClass.toMul.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.det.{max u1 u2, u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) A _inst_8 (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) f)
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_map.det_to_matrix' LinearMap.det_toMatrix'ₓ'. -/
 @[simp]
 theorem det_toMatrix' {ι : Type _} [Fintype ι] [DecidableEq ι] (f : (ι → A) →ₗ[A] ι → A) :
@@ -324,10 +297,7 @@ theorem det_toMatrix' {ι : Type _} [Fintype ι] [DecidableEq ι] (f : (ι → A
 #align linear_map.det_to_matrix' LinearMap.det_toMatrix'
 
 /- warning: linear_map.det_to_lin -> LinearMap.det_toLin is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (b : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (f : Matrix.{u3, u3, u1} ι ι R), Eq.{succ u1} R (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (LinearEquiv.{u1, u1, max u3 u1, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.toLin._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.{u3, u3, u1} ι ι R) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u1, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u3, u3, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.module.{u1, u1, u1, u2, u2} R R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (Matrix.toLin._proof_3.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) (fun (_x : LinearEquiv.{u1, u1, max u3 u1, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.toLin._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.{u3, u3, u1} ι ι R) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u1, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u3, u3, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.module.{u1, u1, u1, u2, u2} R R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (Matrix.toLin._proof_3.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) => (Matrix.{u3, u3, u1} ι ι R) -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3)) (LinearEquiv.hasCoeToFun.{u1, u1, max u3 u1, u2} R R (Matrix.{u3, u3, u1} ι ι R) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u3, u3, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.module.{u1, u1, u1, u2, u2} R R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (Matrix.toLin._proof_3.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.toLin._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.toLin.{u1, u3, u3, u2, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 b b) f)) (Matrix.det.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 f)
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (b : Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (f : Matrix.{u3, u3, u2} ι ι R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), succ u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (Matrix.{u3, u3, u2} ι ι R) (fun (a : Matrix.{u3, u3, u2} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u3, u3, u2} ι ι R) => LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) a) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (SMulZeroClass.toSMul.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (AddMonoid.toZero.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (SMulZeroClass.toSMul.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u1) u3} R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u2 u3, u1, max (max u2 u1) u3} R R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u2 u3, u1} R R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (Matrix.toLin.{u2, u3, u3, u1, u1} R (CommRing.toCommSemiring.{u2} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 b b) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), succ u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (Matrix.{u3, u3, u2} ι ι R) (fun (_x : Matrix.{u3, u3, u2} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u3, u3, u2} ι ι R) => LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (SMulZeroClass.toSMul.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (AddMonoid.toZero.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (SMulZeroClass.toSMul.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u1) u3} R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u2 u3, u1, max (max u2 u1) u3} R R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u2 u3, u1} R R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (Matrix.toLin.{u2, u3, u3, u1, u1} R (CommRing.toCommSemiring.{u2} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 b b) f)) (Matrix.det.{u2, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 f)
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_map.det_to_lin LinearMap.det_toLinₓ'. -/
 @[simp]
 theorem det_toLin (b : Basis ι R M) (f : Matrix ι ι R) :
@@ -336,10 +306,7 @@ theorem det_toLin (b : Basis ι R M) (f : Matrix ι ι R) :
 #align linear_map.det_to_lin LinearMap.det_toLin
 
 /- warning: linear_map.det_to_lin' -> LinearMap.det_toLin' is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] (f : Matrix.{u2, u2, u1} ι ι R), Eq.{succ u1} R (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ (max u2 u1)) (succ u1)} (MonoidHom.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u2 u1} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u2 u1} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) -> R) (MonoidHom.hasCoeToFun.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u2 u1} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{max u2 u1, u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) R _inst_1 (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (coeFn.{succ (max u2 u1), succ (max u2 u1)} (LinearEquiv.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.toLin'._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_3.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι))) (fun (_x : LinearEquiv.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.toLin'._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_3.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι))) => (Matrix.{u2, u2, u1} ι ι R) -> (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_3.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.toLin'._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.toLin'.{u1, u2, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b)) f)) (Matrix.det.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 f)
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] (f : Matrix.{u2, u2, u1} ι ι R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => R) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (Matrix.{u2, u2, u1} ι ι R) (fun (a : Matrix.{u2, u2, u1} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u2, u2, u1} ι ι R) => LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) a) (SMulHomClass.toFunLike.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toZero.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toAddZeroClass.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, max u2 u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (Matrix.toLin'.{u1, u2, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b)) f)) (FunLike.coe.{max (succ u1) (succ (max u1 u2)), succ (max u1 u2), succ u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (_x : LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulOneClass.toMul.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulOneClass.toMul.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (LinearMap.det.{max u1 u2, u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1))) R _inst_1 (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (Matrix.{u2, u2, u1} ι ι R) (fun (_x : Matrix.{u2, u2, u1} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u2, u2, u1} ι ι R) => LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toZero.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toAddZeroClass.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, max u2 u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (Matrix.toLin'.{u1, u2, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b)) f)) (Matrix.det.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 f)
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_map.det_to_lin' LinearMap.det_toLin'ₓ'. -/
 @[simp]
 theorem det_toLin' (f : Matrix ι ι R) : LinearMap.det f.toLin' = f.det := by
@@ -347,10 +314,7 @@ theorem det_toLin' (f : Matrix ι ι R) : LinearMap.det f.toLin' = f.det := by
 #align linear_map.det_to_lin' LinearMap.det_toLin'
 
 /- warning: linear_map.det_cases -> LinearMap.det_cases is a dubious translation:
-lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] [_inst_11 : DecidableEq.{succ u1} M] {P : A -> Prop} (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), (forall (s : Finset.{u1} M) (b : Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9), P (Matrix.det.{u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (fun (a : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (b : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) => Subtype.decidableEq.{u1} M (fun (x : M) => Membership.Mem.{u1, u1} M (Finset.{u1} M) (Finset.hasMem.{u1} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u1} M s) A _inst_8 (coeFn.{max (succ u1) (succ (max u1 u2)), max (succ u1) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u1, max u1 u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.toMatrix._proof_2.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.module.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u2, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u2, u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (fun (_x : LinearEquiv.{u2, u2, u1, max u1 u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.toMatrix._proof_2.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.module.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u2, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u2, u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) => (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A)) (LinearEquiv.hasCoeToFun.{u2, u2, u1, max u1 u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.module.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u2, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u2, u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.toMatrix._proof_2.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.toMatrix.{u2, u1, u1, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (Finset.Subtype.fintype.{u1} M s) (Finset.Subtype.fintype.{u1} M s) (fun (a : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (b : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) => Subtype.decidableEq.{u1} M (fun (x : M) => Membership.Mem.{u1, u1} M (Finset.{u1} M) (Finset.hasMem.{u1} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f))) -> (P (OfNat.ofNat.{u2} A 1 (OfNat.mk.{u2} A 1 (One.one.{u2} A (AddMonoidWithOne.toOne.{u2} A (AddGroupWithOne.toAddMonoidWithOne.{u2} A (AddCommGroupWithOne.toAddGroupWithOne.{u2} A (Ring.toAddCommGroupWithOne.{u2} A (CommRing.toRing.{u2} A _inst_8))))))))) -> (P (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f))
-but is expected to have type
-  forall {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] [_inst_9 : Module.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_11 : DecidableEq.{succ u2} M] {P : A -> Prop} (f : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9), (forall (s : Finset.{u2} M) (b : Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9), P (Matrix.det.{u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u2} M s) A _inst_8 (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, u2, max u2 u1} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (SMulZeroClass.toSMul.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Module.toDistribMulAction.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, u2, max u2 u1} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, max u2 u1, max u2 u1} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, max u2 u1} A A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.toMatrix.{u1, u2, u2, u2, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Finset.Subtype.fintype.{u2} M s) (Finset.Subtype.fintype.{u2} M s) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 b b) f))) -> (P (OfNat.ofNat.{u1} A 1 (One.toOfNat1.{u1} A (Semiring.toOne.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) -> (P (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.det.{u2, u1} M _inst_2 A _inst_8 _inst_9) f))
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_map.det_cases LinearMap.det_casesₓ'. -/
 /-- To show `P f.det` it suffices to consider `P (to_matrix _ _ f).det` and `P 1`. -/
 @[elab_as_elim]
@@ -365,10 +329,7 @@ theorem det_cases [DecidableEq M] {P : A → Prop} (f : M →ₗ[A] M)
 #align linear_map.det_cases LinearMap.det_cases
 
 /- warning: linear_map.det_comp -> LinearMap.det_comp is a dubious translation:
-lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (g : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} A (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearMap.comp.{u2, u2, u2, u1, u1, u1} A A A M M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomCompTriple.right_ids.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))) f g)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) g))
-but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (g : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.comp.{u2, u2, u2, u1, u1, u1} A A A M M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) f g)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearMap.comp.{u2, u2, u2, u1, u1, u1} A A A M M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) f g)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) g))
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_map.det_comp LinearMap.det_compₓ'. -/
 @[simp]
 theorem det_comp (f g : M →ₗ[A] M) : (f.comp g).det = f.det * g.det :=
@@ -376,10 +337,7 @@ theorem det_comp (f g : M →ₗ[A] M) : (f.comp g).det = f.det * g.det :=
 #align linear_map.det_comp LinearMap.det_comp
 
 /- warning: linear_map.det_id -> LinearMap.det_id is a dubious translation:
-lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)], Eq.{succ u2} A (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearMap.id.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (OfNat.ofNat.{u2} A 1 (OfNat.mk.{u2} A 1 (One.one.{u2} A (AddMonoidWithOne.toOne.{u2} A (AddGroupWithOne.toAddMonoidWithOne.{u2} A (AddCommGroupWithOne.toAddGroupWithOne.{u2} A (Ring.toAddCommGroupWithOne.{u2} A (CommRing.toRing.{u2} A _inst_8))))))))
-but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)], Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearMap.id.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Semiring.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) _inst_8)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_map.det_id LinearMap.det_idₓ'. -/
 @[simp]
 theorem det_id : (LinearMap.id : M →ₗ[A] M).det = 1 :=
@@ -387,10 +345,7 @@ theorem det_id : (LinearMap.id : M →ₗ[A] M).det = 1 :=
 #align linear_map.det_id LinearMap.det_id
 
 /- warning: linear_map.det_smul -> LinearMap.det_smul is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} [_inst_11 : Field.{u1} 𝕜] {M : Type.{u2}} [_inst_12 : AddCommGroup.{u2} M] [_inst_13 : Module.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12)] (c : 𝕜) (f : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13), Eq.{succ u1} 𝕜 (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) => (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) -> 𝕜) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) (LinearMap.det.{u2, u1} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)) _inst_13) (SMul.smul.{u1, u2} 𝕜 (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (LinearMap.hasSmul.{u1, u1, u1, u2, u2} 𝕜 𝕜 𝕜 M M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13 (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) (Ring.toMonoid.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (Module.toDistribMulAction.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13) (smulCommClass_self.{u1, u2} 𝕜 M (CommRing.toCommMonoid.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11))) (MulActionWithZero.toMulAction.{u1, u2} 𝕜 M (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12)))) (Module.toMulActionWithZero.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13)))) c f)) (HMul.hMul.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHMul.{u1} 𝕜 (Distrib.toHasMul.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))) (HPow.hPow.{u1, 0, u1} 𝕜 Nat 𝕜 (instHPow.{u1, 0} 𝕜 Nat (Monoid.Pow.{u1} 𝕜 (Ring.toMonoid.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))) c (FiniteDimensional.finrank.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) _inst_12 _inst_13)) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) => (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) -> 𝕜) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) (LinearMap.det.{u2, u1} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)) _inst_13) f))
-but is expected to have type
-  forall {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] {M : Type.{u1}} [_inst_12 : AddCommGroup.{u1} M] [_inst_13 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12)] (c : 𝕜) (f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) (HSMul.hSMul.{u2, u1, u1} 𝕜 (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (instHSMul.{u2, u1} 𝕜 (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.instSMulLinearMap.{u2, u2, u2, u1, u1} 𝕜 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) (MonoidWithZero.toMonoid.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) (Module.toDistribMulAction.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13) (smulCommClass_self.{u2, u1} 𝕜 M (CommRing.toCommMonoid.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))) (MulActionWithZero.toMulAction.{u2, u1} 𝕜 M (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_12))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13))))) c f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_13) (HSMul.hSMul.{u2, u1, u1} 𝕜 (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (instHSMul.{u2, u1} 𝕜 (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.instSMulLinearMap.{u2, u2, u2, u1, u1} 𝕜 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) (MonoidWithZero.toMonoid.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) (Module.toDistribMulAction.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13) (smulCommClass_self.{u2, u1} 𝕜 M (CommRing.toCommMonoid.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))) (MulActionWithZero.toMulAction.{u2, u1} 𝕜 M (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_12))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13))))) c f)) (HMul.hMul.{u2, u2, u2} 𝕜 ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) 𝕜 (instHMul.{u2} 𝕜 (NonUnitalNonAssocRing.toMul.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11)))))) (HPow.hPow.{u2, 0, u2} 𝕜 Nat 𝕜 (instHPow.{u2, 0} 𝕜 Nat (Monoid.Pow.{u2} 𝕜 (MonoidWithZero.toMonoid.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))))) c (FiniteDimensional.finrank.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) _inst_12 _inst_13)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_13) f))
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_map.det_smul LinearMap.det_smulₓ'. -/
 /-- Multiplying a map by a scalar `c` multiplies its determinant by `c ^ dim M`. -/
 @[simp]
@@ -410,10 +365,7 @@ theorem det_smul {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCommGroup M] [Mod
 #align linear_map.det_smul LinearMap.det_smul
 
 /- warning: linear_map.det_zero' -> LinearMap.det_zero' is a dubious translation:
-lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_11 : Finite.{succ u3} ι] [_inst_12 : Nonempty.{succ u3} ι], (Basis.{u3, u2, u1} ι A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) -> (Eq.{succ u2} A (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (OfNat.mk.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.zero.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.hasZero.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))))))) (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))))))))
-but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_11 : Finite.{succ u3} ι] [_inst_12 : Nonempty.{succ u3} ι], (Basis.{u3, u2, u1} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) -> (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (CommSemiring.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) _inst_8))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_map.det_zero' LinearMap.det_zero'ₓ'. -/
 theorem det_zero' {ι : Type _} [Finite ι] [Nonempty ι] (b : Basis ι A M) :
     LinearMap.det (0 : M →ₗ[A] M) = 0 :=
@@ -424,10 +376,7 @@ theorem det_zero' {ι : Type _} [Finite ι] [Nonempty ι] (b : Basis ι A M) :
 #align linear_map.det_zero' LinearMap.det_zero'
 
 /- warning: linear_map.det_zero -> LinearMap.det_zero is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} [_inst_11 : Field.{u1} 𝕜] {M : Type.{u2}} [_inst_12 : AddCommGroup.{u2} M] [_inst_13 : Module.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12)], Eq.{succ u1} 𝕜 (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) => (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) -> 𝕜) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) (LinearMap.det.{u2, u1} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)) _inst_13) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 0 (OfNat.mk.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 0 (Zero.zero.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (LinearMap.hasZero.{u1, u1, u2, u2} 𝕜 𝕜 M M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13 (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11)))))))))) (HPow.hPow.{u1, 0, u1} 𝕜 Nat 𝕜 (instHPow.{u1, 0} 𝕜 Nat (Monoid.Pow.{u1} 𝕜 (Ring.toMonoid.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11)))))))))) (FiniteDimensional.finrank.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) _inst_12 _inst_13))
-but is expected to have type
-  forall {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] {M : Type.{u1}} [_inst_12 : AddCommGroup.{u1} M] [_inst_13 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12)], Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_13) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))))))) (HPow.hPow.{u2, 0, u2} 𝕜 Nat 𝕜 (instHPow.{u2, 0} 𝕜 Nat (Monoid.Pow.{u2} 𝕜 (MonoidWithZero.toMonoid.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))))) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))))) (FiniteDimensional.finrank.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) _inst_12 _inst_13))
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_map.det_zero LinearMap.det_zeroₓ'. -/
 /-- In a finite-dimensional vector space, the zero map has determinant `1` in dimension `0`,
 and `0` otherwise. We give a formula that also works in infinite dimension, where we define
@@ -439,10 +388,7 @@ theorem det_zero {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCommGroup M] [Mod
 #align linear_map.det_zero LinearMap.det_zero
 
 /- warning: linear_map.det_eq_one_of_subsingleton -> LinearMap.det_eq_one_of_subsingleton is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_11 : Subsingleton.{succ u2} M] (f : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3), Eq.{succ u1} R (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) f) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_11 : Subsingleton.{succ u2} M] (f : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) f) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) 1 (One.toOfNat1.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) (Semiring.toOne.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) _inst_1)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_map.det_eq_one_of_subsingleton LinearMap.det_eq_one_of_subsingletonₓ'. -/
 theorem det_eq_one_of_subsingleton [Subsingleton M] (f : M →ₗ[R] M) : (f : M →ₗ[R] M).det = 1 :=
   by
@@ -452,10 +398,7 @@ theorem det_eq_one_of_subsingleton [Subsingleton M] (f : M →ₗ[R] M) : (f : M
 #align linear_map.det_eq_one_of_subsingleton LinearMap.det_eq_one_of_subsingleton
 
 /- warning: linear_map.det_eq_one_of_finrank_eq_zero -> LinearMap.det_eq_one_of_finrank_eq_zero is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} [_inst_11 : Field.{u1} 𝕜] {M : Type.{u2}} [_inst_12 : AddCommGroup.{u2} M] [_inst_13 : Module.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12)], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) _inst_12 _inst_13) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (forall (f : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13), Eq.{succ u1} 𝕜 (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) => (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) -> 𝕜) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) (LinearMap.det.{u2, u1} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)) _inst_13) f) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddGroupWithOne.toAddMonoidWithOne.{u1} 𝕜 (AddCommGroupWithOne.toAddGroupWithOne.{u1} 𝕜 (Ring.toAddCommGroupWithOne.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))))))))
-but is expected to have type
-  forall {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] {M : Type.{u1}} [_inst_12 : AddCommGroup.{u1} M] [_inst_13 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12)], (Eq.{1} Nat (FiniteDimensional.finrank.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) _inst_12 _inst_13) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) -> (forall (f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_13) f) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) (Semiring.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) (DivisionSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) (Semifield.toDivisionSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) (Field.toSemifield.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) _inst_11)))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_map.det_eq_one_of_finrank_eq_zero LinearMap.det_eq_one_of_finrank_eq_zeroₓ'. -/
 theorem det_eq_one_of_finrank_eq_zero {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCommGroup M]
     [Module 𝕜 M] (h : FiniteDimensional.finrank 𝕜 M = 0) (f : M →ₗ[𝕜] M) :
@@ -470,10 +413,7 @@ theorem det_eq_one_of_finrank_eq_zero {𝕜 : Type _} [Field 𝕜] {M : Type _}
 #align linear_map.det_eq_one_of_finrank_eq_zero LinearMap.det_eq_one_of_finrank_eq_zero
 
 /- warning: linear_map.det_conj -> LinearMap.det_conj is a dubious translation:
-lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {N : Type.{u3}} [_inst_11 : AddCommGroup.{u3} N] [_inst_12 : Module.{u2, u3} A N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11)] (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (e : LinearEquiv.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12), Eq.{succ u2} A (coeFn.{max (succ u2) (succ u3), max (succ u3) (succ u2)} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.ring.{u2, u3} A N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_11 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.ring.{u2, u3} A N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_11 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) -> A) (MonoidHom.hasCoeToFun.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.ring.{u2, u3} A N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_11 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u3, u2} N _inst_11 A _inst_8 _inst_12) (LinearMap.comp.{u2, u2, u2, u3, u1, u3} A A A N M N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_9 _inst_12 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))) ((fun (a : Sort.{max (succ u1) (succ u3)}) (b : Sort.{max (succ u1) (succ u3)}) [self : HasLiftT.{max (succ u1) (succ u3), max (succ u1) (succ u3)} a b] => self.0) (LinearEquiv.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12) (LinearMap.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12) (HasLiftT.mk.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (LinearEquiv.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12) (LinearMap.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12) (CoeTCₓ.coe.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (LinearEquiv.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12) (LinearMap.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12) (coeBase.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (LinearEquiv.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12) (LinearMap.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u1, u3} A A M N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) e) (LinearMap.comp.{u2, u2, u2, u3, u1, u1} A A A N M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))) f ((fun (a : Sort.{max (succ u3) (succ u1)}) (b : Sort.{max (succ u3) (succ u1)}) [self : HasLiftT.{max (succ u3) (succ u1), max (succ u3) (succ u1)} a b] => self.0) (LinearEquiv.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9) (LinearMap.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9) (HasLiftT.mk.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9) (LinearMap.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9) (CoeTCₓ.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9) (LinearMap.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9) (coeBase.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9) (LinearMap.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u3, u1} A A N M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (LinearEquiv.symm.{u2, u2, u1, u3} A A M N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) e))))) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f)
-but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {N : Type.{u3}} [_inst_11 : AddCommGroup.{u3} N] [_inst_12 : Module.{u2, u3} A N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11)] (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (e : LinearEquiv.{u2, u2, u1, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) => A) (LinearMap.comp.{u2, u2, u2, u3, u1, u3} A A A N M N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_9 _inst_12 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearEquiv.toLinearMap.{u2, u2, u1, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12 e) (LinearMap.comp.{u2, u2, u2, u3, u1, u1} A A A N M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) f (LinearEquiv.toLinearMap.{u2, u2, u3, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u3} A A M N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) e))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.semiring.{u2, u3} A N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) => A) _x) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.semiring.{u2, u3} A N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.semiring.{u2, u3} A N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.semiring.{u2, u3} A N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.semiring.{u2, u3} A N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.semiring.{u2, u3} A N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u3, u2} N _inst_11 A _inst_8 _inst_12) (LinearMap.comp.{u2, u2, u2, u3, u1, u3} A A A N M N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_9 _inst_12 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearEquiv.toLinearMap.{u2, u2, u1, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12 e) (LinearMap.comp.{u2, u2, u2, u3, u1, u1} A A A N M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) f (LinearEquiv.toLinearMap.{u2, u2, u3, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u3} A A M N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) e))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f)
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_map.det_conj LinearMap.det_conjₓ'. -/
 /-- Conjugating a linear map by a linear equiv does not change its determinant. -/
 @[simp]
@@ -499,10 +439,7 @@ theorem det_conj {N : Type _} [AddCommGroup N] [Module A N] (f : M →ₗ[A] M)
 #align linear_map.det_conj LinearMap.det_conj
 
 /- warning: linear_map.is_unit_det -> LinearMap.isUnit_det is a dubious translation:
-lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_11 : CommRing.{u2} A] [_inst_12 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12), (IsUnit.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.monoid.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) f) -> (IsUnit.{u2} A (Ring.toMonoid.{u2} A (CommRing.toRing.{u2} A _inst_11)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_11 _inst_12) f))
-but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_11 : CommRing.{u2} A] [_inst_12 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12), (IsUnit.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.monoid.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) f) -> (IsUnit.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) f) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) f) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) f) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) f) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) f) _inst_11)))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_11 _inst_12) f))
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_map.is_unit_det LinearMap.isUnit_detₓ'. -/
 /-- If a linear map is invertible, so is its determinant. -/
 theorem isUnit_det {A : Type _} [CommRing A] [Module A M] (f : M →ₗ[A] M) (hf : IsUnit f) :
@@ -514,10 +451,7 @@ theorem isUnit_det {A : Type _} [CommRing A] [Module A M] (f : M →ₗ[A] M) (h
 #align linear_map.is_unit_det LinearMap.isUnit_det
 
 /- warning: linear_map.finite_dimensional_of_det_ne_one -> LinearMap.finiteDimensional_of_det_ne_one is a dubious translation:
-lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12), (Ne.{succ u2} 𝕜 (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) => (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) -> 𝕜) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} 𝕜 1 (OfNat.mk.{u2} 𝕜 1 (One.one.{u2} 𝕜 (AddMonoidWithOne.toOne.{u2} 𝕜 (AddGroupWithOne.toAddMonoidWithOne.{u2} 𝕜 (AddCommGroupWithOne.toAddGroupWithOne.{u2} 𝕜 (Ring.toAddCommGroupWithOne.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11)))))))))) -> (FiniteDimensional.{u2, u1} 𝕜 M (Field.toDivisionRing.{u2} 𝕜 _inst_11) _inst_2 _inst_12)
-but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12), (Ne.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Semiring.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (DivisionSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Semifield.toDivisionSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Field.toSemifield.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) _inst_11))))))) -> (FiniteDimensional.{u2, u1} 𝕜 M (Field.toDivisionRing.{u2} 𝕜 _inst_11) _inst_2 _inst_12)
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_map.finite_dimensional_of_det_ne_one LinearMap.finiteDimensional_of_det_ne_oneₓ'. -/
 /-- If a linear map has determinant different from `1`, then the space is finite-dimensional. -/
 theorem finiteDimensional_of_det_ne_one {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] (f : M →ₗ[𝕜] M)
@@ -533,10 +467,7 @@ theorem finiteDimensional_of_det_ne_one {𝕜 : Type _} [Field 𝕜] [Module 
 #align linear_map.finite_dimensional_of_det_ne_one LinearMap.finiteDimensional_of_det_ne_one
 
 /- warning: linear_map.range_lt_top_of_det_eq_zero -> LinearMap.range_lt_top_of_det_eq_zero is a dubious translation:
-lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12}, (Eq.{succ u2} 𝕜 (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) => (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) -> 𝕜) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))))))))) -> (LT.lt.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Preorder.toHasLt.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.completeLattice.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (LinearMap.range.{u2, u2, u1, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (LinearMap.semilinearMapClass.{u2, u2, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11)))))) (RingHomSurjective.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11)))) f) (Top.top.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.hasTop.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))
-but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12}, (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommGroupWithZero.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Semifield.toCommGroupWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Field.toSemifield.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) _inst_11))))))) -> (LT.lt.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Preorder.toLT.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.completeLattice.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (LinearMap.range.{u2, u2, u1, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (LinearMap.semilinearMapClass.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))))) (RingHomSurjective.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))) f) (Top.top.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.instTopSubmodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_map.range_lt_top_of_det_eq_zero LinearMap.range_lt_top_of_det_eq_zeroₓ'. -/
 /-- If the determinant of a map vanishes, then the map is not onto. -/
 theorem range_lt_top_of_det_eq_zero {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] {f : M →ₗ[𝕜] M}
@@ -549,10 +480,7 @@ theorem range_lt_top_of_det_eq_zero {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M]
 #align linear_map.range_lt_top_of_det_eq_zero LinearMap.range_lt_top_of_det_eq_zero
 
 /- warning: linear_map.bot_lt_ker_of_det_eq_zero -> LinearMap.bot_lt_ker_of_det_eq_zero is a dubious translation:
-lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12}, (Eq.{succ u2} 𝕜 (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) => (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) -> 𝕜) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))))))))) -> (LT.lt.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Preorder.toHasLt.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.completeLattice.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (Bot.bot.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.hasBot.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)) (LinearMap.ker.{u2, u2, u1, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (LinearMap.semilinearMapClass.{u2, u2, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11)))))) f))
-but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12}, (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommGroupWithZero.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Semifield.toCommGroupWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Field.toSemifield.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) _inst_11))))))) -> (LT.lt.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Preorder.toLT.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.completeLattice.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (Bot.bot.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.instBotSubmodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)) (LinearMap.ker.{u2, u2, u1, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (LinearMap.semilinearMapClass.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))))) f))
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_map.bot_lt_ker_of_det_eq_zero LinearMap.bot_lt_ker_of_det_eq_zeroₓ'. -/
 /-- If the determinant of a map vanishes, then the map is not injective. -/
 theorem bot_lt_ker_of_det_eq_zero {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] {f : M →ₗ[𝕜] M}
@@ -581,10 +509,7 @@ protected def det : (M ≃ₗ[R] M) →* Rˣ :=
 #align linear_equiv.det LinearEquiv.det
 
 /- warning: linear_equiv.coe_det -> LinearEquiv.coe_det is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (f : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3), Eq.{succ u1} R ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (HasLiftT.mk.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (CoeTCₓ.coe.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (coeBase.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Units.hasCoe.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) f)) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (HasLiftT.mk.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (CoeTCₓ.coe.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (coeBase.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) f))
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 f)) (Units.val.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 f))
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_equiv.coe_det LinearEquiv.coe_detₓ'. -/
 @[simp]
 theorem coe_det (f : M ≃ₗ[R] M) : ↑f.det = LinearMap.det (f : M →ₗ[R] M) :=
@@ -592,10 +517,7 @@ theorem coe_det (f : M ≃ₗ[R] M) : ↑f.det = LinearMap.det (f : M →ₗ[R]
 #align linear_equiv.coe_det LinearEquiv.coe_det
 
 /- warning: linear_equiv.coe_inv_det -> LinearEquiv.coe_inv_det is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (f : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3), Eq.{succ u1} R ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (HasLiftT.mk.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (CoeTCₓ.coe.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (coeBase.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Units.hasCoe.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Inv.inv.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.hasInv.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) f))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (HasLiftT.mk.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (CoeTCₓ.coe.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (coeBase.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (LinearEquiv.symm.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f)))
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (LinearEquiv.symm.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) f))) (Units.val.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f) (Units.instInv.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) f))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (LinearEquiv.symm.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) f)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_equiv.coe_inv_det LinearEquiv.coe_inv_detₓ'. -/
 @[simp]
 theorem coe_inv_det (f : M ≃ₗ[R] M) : ↑f.det⁻¹ = LinearMap.det (f.symm : M →ₗ[R] M) :=
@@ -603,10 +525,7 @@ theorem coe_inv_det (f : M ≃ₗ[R] M) : ↑f.det⁻¹ = LinearMap.det (f.symm
 #align linear_equiv.coe_inv_det LinearEquiv.coe_inv_det
 
 /- warning: linear_equiv.det_refl -> LinearEquiv.det_refl is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)], Eq.{succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) (LinearEquiv.refl.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (OfNat.ofNat.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) 1 (OfNat.mk.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) 1 (One.one.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulOneClass.toHasOne.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)], Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (InvOneClass.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (DivisionCommMonoid.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (CommGroup.toDivisionCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (Units.instCommGroupUnitsToMonoid.{u2} R (CommRing.toCommMonoid.{u2} R _inst_1)))))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_equiv.det_refl LinearEquiv.det_reflₓ'. -/
 @[simp]
 theorem det_refl : (LinearEquiv.refl R M).det = 1 :=
@@ -614,10 +533,7 @@ theorem det_refl : (LinearEquiv.refl R M).det = 1 :=
 #align linear_equiv.det_refl LinearEquiv.det_refl
 
 /- warning: linear_equiv.det_trans -> LinearEquiv.det_trans is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (f : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (g : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3), Eq.{succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) (LinearEquiv.trans.{u1, u1, u1, u2, u2, u2} R R R M M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomCompTriple.right_ids.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (RingHomCompTriple.right_ids.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (LinearEquiv.det._proof_2.{u1} R _inst_1) f g)) (HMul.hMul.{u1, u1, u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (instHMul.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulOneClass.toHasMul.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) g) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) f))
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (g : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.trans.{u2, u2, u2, u1, u1, u1} R R R M M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) f g)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) (LinearEquiv.trans.{u2, u2, u2, u1, u1, u1} R R R M M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) f g)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) g) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) g) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) g) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) f))
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_equiv.det_trans LinearEquiv.det_transₓ'. -/
 @[simp]
 theorem det_trans (f g : M ≃ₗ[R] M) : (f.trans g).det = g.det * f.det :=
@@ -625,10 +541,7 @@ theorem det_trans (f g : M ≃ₗ[R] M) : (f.trans g).det = g.det * f.det :=
 #align linear_equiv.det_trans LinearEquiv.det_trans
 
 /- warning: linear_equiv.det_symm -> LinearEquiv.det_symm is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (f : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3), Eq.{succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) (LinearEquiv.symm.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f)) (Inv.inv.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.hasInv.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) f))
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.symm.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) f)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) (LinearEquiv.symm.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) f)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (a : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) a) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) (Inv.inv.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (InvOneClass.toInv.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvOneMonoid.toInvOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivisionMonoid.toDivInvOneMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivisionMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) f))
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_equiv.det_symm LinearEquiv.det_symmₓ'. -/
 @[simp]
 theorem det_symm (f : M ≃ₗ[R] M) : f.symm.det = f.det⁻¹ :=
@@ -636,10 +549,7 @@ theorem det_symm (f : M ≃ₗ[R] M) : f.symm.det = f.det⁻¹ :=
 #align linear_equiv.det_symm LinearEquiv.det_symm
 
 /- warning: linear_equiv.det_conj -> LinearEquiv.det_conj is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] (f : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (e : LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5), Eq.{succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (coeFn.{max (succ u1) (succ u3), max (succ u3) (succ u1)} (MonoidHom.{u3, u1} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u3, u1} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u3, u1} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u3} R _inst_1 M' _inst_4 _inst_5) (LinearEquiv.trans.{u1, u1, u1, u3, u2, u3} R R R M' M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomCompTriple.right_ids.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (RingHomCompTriple.right_ids.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (LinearEquiv.det._proof_2.{u1} R _inst_1) (LinearEquiv.trans.{u1, u1, u1, u3, u2, u2} R R R M' M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomCompTriple.right_ids.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (RingHomCompTriple.right_ids.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (LinearEquiv.symm.{u1, u1, u2, u3} R R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) e) f) e)) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) f)
-but is expected to have type
-  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u1}} [_inst_4 : AddCommGroup.{u1} M'] [_inst_5 : Module.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4)] (f : LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (e : LinearEquiv.{u3, u3, u2, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) => Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (LinearEquiv.trans.{u3, u3, u3, u1, u2, u1} R R R M' M M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomCompTriple.ids.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (RingHomCompTriple.ids.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (LinearEquiv.trans.{u3, u3, u3, u1, u2, u2} R R R M' M M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomCompTriple.ids.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (RingHomCompTriple.ids.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (LinearEquiv.symm.{u3, u3, u2, u1} R R M M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) e) f) e)) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (fun (_x : LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) => Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5))))) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u3} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (LinearEquiv.det.{u3, u1} R _inst_1 M' _inst_4 _inst_5) (LinearEquiv.trans.{u3, u3, u3, u1, u2, u1} R R R M' M M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomCompTriple.ids.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (RingHomCompTriple.ids.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (LinearEquiv.trans.{u3, u3, u3, u1, u2, u2} R R R M' M M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomCompTriple.ids.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (RingHomCompTriple.ids.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (LinearEquiv.symm.{u3, u3, u2, u1} R R M M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) e) f) e)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (MonoidHom.{u2, u3} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (MulOneClass.toMul.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (MonoidHom.monoidHomClass.{u2, u3} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (LinearEquiv.det.{u3, u2} R _inst_1 M _inst_2 _inst_3) f)
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_equiv.det_conj LinearEquiv.det_conjₓ'. -/
 /-- Conjugating a linear equiv by a linear equiv does not change its determinant. -/
 @[simp]
@@ -650,10 +560,7 @@ theorem det_conj (f : M ≃ₗ[R] M) (e : M ≃ₗ[R] M') : ((e.symm.trans f).tr
 end LinearEquiv
 
 /- warning: linear_equiv.det_mul_det_symm -> LinearEquiv.det_mul_det_symm is a dubious translation:
-lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} A (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (HasLiftT.mk.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CoeTCₓ.coe.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (coeBase.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) f)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (HasLiftT.mk.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CoeTCₓ.coe.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (coeBase.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f)))) (OfNat.ofNat.{u2} A 1 (OfNat.mk.{u2} A 1 (One.one.{u2} A (AddMonoidWithOne.toOne.{u2} A (AddGroupWithOne.toAddMonoidWithOne.{u2} A (AddCommGroupWithOne.toAddGroupWithOne.{u2} A (Ring.toAddCommGroupWithOne.{u2} A (CommRing.toRing.{u2} A _inst_8))))))))
-but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f)))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (Semiring.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) _inst_8)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_equiv.det_mul_det_symm LinearEquiv.det_mul_det_symmₓ'. -/
 /-- The determinants of a `linear_equiv` and its inverse multiply to 1. -/
 @[simp]
@@ -662,10 +569,7 @@ theorem LinearEquiv.det_mul_det_symm {A : Type _} [CommRing A] [Module A M] (f :
 #align linear_equiv.det_mul_det_symm LinearEquiv.det_mul_det_symm
 
 /- warning: linear_equiv.det_symm_mul_det -> LinearEquiv.det_symm_mul_det is a dubious translation:
-lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} A (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (HasLiftT.mk.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CoeTCₓ.coe.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (coeBase.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f))) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (HasLiftT.mk.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CoeTCₓ.coe.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (coeBase.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) f))) (OfNat.ofNat.{u2} A 1 (OfNat.mk.{u2} A 1 (One.one.{u2} A (AddMonoidWithOne.toOne.{u2} A (AddGroupWithOne.toAddMonoidWithOne.{u2} A (AddCommGroupWithOne.toAddGroupWithOne.{u2} A (Ring.toAddCommGroupWithOne.{u2} A (CommRing.toRing.{u2} A _inst_8))))))))
-but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (Semiring.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) _inst_8)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_equiv.det_symm_mul_det LinearEquiv.det_symm_mul_detₓ'. -/
 /-- The determinants of a `linear_equiv` and its inverse multiply to 1. -/
 @[simp]
@@ -674,10 +578,7 @@ theorem LinearEquiv.det_symm_mul_det {A : Type _} [CommRing A] [Module A M] (f :
 #align linear_equiv.det_symm_mul_det LinearEquiv.det_symm_mul_det
 
 /- warning: linear_equiv.is_unit_det -> LinearEquiv.isUnit_det is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] {ι : Type.{u4}} [_inst_6 : DecidableEq.{succ u4} ι] [_inst_7 : Fintype.{u4} ι] (f : LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (v : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (v' : Basis.{u4, u1, u3} ι R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5), IsUnit.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Matrix.det.{u1, u4} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (coeFn.{max (succ (max u2 u3)) (succ (max u4 u1)), max (succ (max u2 u3)) (succ (max u4 u1))} (LinearEquiv.{u1, u1, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.toMatrix._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.toMatrix._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearMap.toMatrix._proof_3.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (_x : LinearEquiv.{u1, u1, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.toMatrix._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.toMatrix._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearMap.toMatrix._proof_3.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) -> (Matrix.{u4, u4, u1} ι ι R)) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u3, max u4 u1} R R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearMap.toMatrix._proof_3.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.toMatrix._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.toMatrix._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.toMatrix.{u1, u4, u4, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 v v') ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (coeBase.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u2, u3} R R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) f)))
-but is expected to have type
-  forall {R : Type.{u4}} [_inst_1 : CommRing.{u4} R] {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] {M' : Type.{u2}} [_inst_4 : AddCommGroup.{u2} M'] [_inst_5 : Module.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] (f : LinearEquiv.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (v : Basis.{u1, u4, u3} ι R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (v' : Basis.{u1, u4, u2} ι R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5), IsUnit.{u4} R (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (Matrix.det.{u4, u1} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), max (succ u3) (succ u2), max (succ u4) (succ u1)} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) => Matrix.{u1, u1, u4} ι ι R) _x) (SMulHomClass.toFunLike.{max (max (max u4 u3) u2) u1, u4, max u3 u2, max u4 u1} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (SMulZeroClass.toSMul.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toZero.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toAddZeroClass.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Module.toDistribMulAction.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))))))) (SMulZeroClass.toSMul.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (AddMonoid.toZero.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (AddMonoid.toAddZeroClass.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u4 u3) u2) u1, u4, max u3 u2, max u4 u1} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5))))) (Module.toDistribMulAction.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u4, max u3 u2, max u4 u1, max (max (max u4 u3) u2) u1} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, max u3 u2, max u4 u1, max (max (max u4 u3) u2) u1} R R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, max u3 u2, max u4 u1} R R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (LinearMap.toMatrix.{u4, u1, u1, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 v v') (LinearEquiv.toLinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 f)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_equiv.is_unit_det LinearEquiv.isUnit_detₓ'. -/
 -- Cannot be stated using `linear_map.det` because `f` is not an endomorphism.
 theorem LinearEquiv.isUnit_det (f : M ≃ₗ[R] M') (v : Basis ι R M) (v' : Basis ι R M') :
@@ -688,10 +589,7 @@ theorem LinearEquiv.isUnit_det (f : M ≃ₗ[R] M') (v : Basis ι R M) (v' : Bas
 #align linear_equiv.is_unit_det LinearEquiv.isUnit_det
 
 /- warning: linear_equiv.is_unit_det' -> LinearEquiv.isUnit_det' is a dubious translation:
-lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), IsUnit.{u2} A (Ring.toMonoid.{u2} A (CommRing.toRing.{u2} A _inst_8)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (HasLiftT.mk.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CoeTCₓ.coe.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (coeBase.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) f))
-but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), IsUnit.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) _inst_8)))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f))
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_equiv.is_unit_det' LinearEquiv.isUnit_det'ₓ'. -/
 /-- Specialization of `linear_equiv.is_unit_det` -/
 theorem LinearEquiv.isUnit_det' {A : Type _} [CommRing A] [Module A M] (f : M ≃ₗ[A] M) :
@@ -700,10 +598,7 @@ theorem LinearEquiv.isUnit_det' {A : Type _} [CommRing A] [Module A M] (f : M 
 #align linear_equiv.is_unit_det' LinearEquiv.isUnit_det'
 
 /- warning: linear_equiv.det_coe_symm -> LinearEquiv.det_coe_symm is a dubious translation:
-lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_8 : Field.{u2} 𝕜] [_inst_9 : Module.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} 𝕜 (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) => (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> 𝕜) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)) _inst_9) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (HasLiftT.mk.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CoeTCₓ.coe.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (coeBase.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))))))) (LinearEquiv.symm.{u2, u2, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) f))) (Inv.inv.{u2} 𝕜 (DivInvMonoid.toHasInv.{u2} 𝕜 (DivisionRing.toDivInvMonoid.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) => (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> 𝕜) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)) _inst_9) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (HasLiftT.mk.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CoeTCₓ.coe.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (coeBase.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))))))) f)))
-but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_8 : Field.{u2} 𝕜] [_inst_9 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => 𝕜) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) f))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)) _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) f))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => 𝕜) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (Field.toInv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => 𝕜) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) _inst_8) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)) _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_equiv.det_coe_symm LinearEquiv.det_coe_symmₓ'. -/
 /-- The determinant of `f.symm` is the inverse of that of `f` when `f` is a linear equiv. -/
 theorem LinearEquiv.det_coe_symm {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] (f : M ≃ₗ[𝕜] M) :
@@ -712,10 +607,7 @@ theorem LinearEquiv.det_coe_symm {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] (f
 #align linear_equiv.det_coe_symm LinearEquiv.det_coe_symm
 
 /- warning: linear_equiv.of_is_unit_det -> LinearEquiv.ofIsUnitDet is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] {ι : Type.{u4}} [_inst_6 : DecidableEq.{succ u4} ι] [_inst_7 : Fintype.{u4} ι] {f : LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5} {v : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {v' : Basis.{u4, u1, u3} ι R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5}, (IsUnit.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Matrix.det.{u1, u4} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (coeFn.{max (succ (max u2 u3)) (succ (max u4 u1)), max (succ (max u2 u3)) (succ (max u4 u1))} (LinearEquiv.{u1, u1, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_1.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_2.{u1} R _inst_1) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearEquiv.ofIsUnitDet._proof_3.{u1, u3} R _inst_1 M' _inst_4 _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (_x : LinearEquiv.{u1, u1, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_1.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_2.{u1} R _inst_1) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearEquiv.ofIsUnitDet._proof_3.{u1, u3} R _inst_1 M' _inst_4 _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) -> (Matrix.{u4, u4, u1} ι ι R)) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u3, max u4 u1} R R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearEquiv.ofIsUnitDet._proof_3.{u1, u3} R _inst_1 M' _inst_4 _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_4.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_5.{u1} R _inst_1)) (LinearMap.toMatrix.{u1, u4, u4, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 v v') f))) -> (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_6.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_7.{u1} R _inst_1) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5)
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] {ι : Type.{u4}} [_inst_6 : DecidableEq.{succ u4} ι] [_inst_7 : Fintype.{u4} ι] {f : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5} {v : Basis.{u4, u1, u2} ι R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {v' : Basis.{u4, u1, u3} ι R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5}, (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.det.{u1, u4} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (FunLike.coe.{max (max (max (succ u1) (succ u2)) (succ u3)) (succ u4), max (succ u2) (succ u3), max (succ u1) (succ u4)} (LinearEquiv.{u1, u1, max u3 u2, max u1 u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) => Matrix.{u4, u4, u1} ι ι R) _x) (SMulHomClass.toFunLike.{max (max (max u1 u2) u3) u4, u1, max u2 u3, max u1 u4} (LinearEquiv.{u1, u1, max u3 u2, max u1 u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (SMulZeroClass.toSMul.{u1, max u2 u3} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toZero.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toAddZeroClass.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u3} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))))))) (SMulZeroClass.toSMul.{u1, max u1 u4} R (Matrix.{u4, u4, u1} ι ι R) (AddMonoid.toZero.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max u1 u4} R (Matrix.{u4, u4, u1} ι ι R) (AddMonoid.toAddZeroClass.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max u1 u4} R (Matrix.{u4, u4, u1} ι ι R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u1 u4} R (Matrix.{u4, u4, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u1 u2) u3) u4, u1, max u2 u3, max u1 u4} (LinearEquiv.{u1, u1, max u3 u2, max u1 u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u2 u3} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5))))) (Module.toDistribMulAction.{u1, max u1 u4} R (Matrix.{u4, u4, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u3, max u1 u4, max (max (max u1 u2) u3) u4} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearEquiv.{u1, u1, max u3 u2, max u1 u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u3, max u1 u4, max (max (max u1 u2) u3) u4} R R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearEquiv.{u1, u1, max u3 u2, max u1 u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u3, max u1 u4} R R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (LinearMap.toMatrix.{u1, u4, u4, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 v v') f))) -> (LinearEquiv.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5)
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_equiv.of_is_unit_det LinearEquiv.ofIsUnitDetₓ'. -/
 /-- Builds a linear equivalence from a linear map whose determinant in some bases is a unit. -/
 @[simps]
@@ -742,10 +634,7 @@ def LinearEquiv.ofIsUnitDet {f : M →ₗ[R] M'} {v : Basis ι R M} {v' : Basis
 #align linear_equiv.of_is_unit_det LinearEquiv.ofIsUnitDet
 
 /- warning: linear_equiv.coe_of_is_unit_det -> LinearEquiv.coe_ofIsUnitDet is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] {ι : Type.{u4}} [_inst_6 : DecidableEq.{succ u4} ι] [_inst_7 : Fintype.{u4} ι] {f : LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5} {v : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {v' : Basis.{u4, u1, u3} ι R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5} (h : IsUnit.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Matrix.det.{u1, u4} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (coeFn.{max (succ (max u2 u3)) (succ (max u4 u1)), max (succ (max u2 u3)) (succ (max u4 u1))} (LinearEquiv.{u1, u1, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.toMatrix._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.toMatrix._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearMap.toMatrix._proof_3.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (_x : LinearEquiv.{u1, u1, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.toMatrix._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.toMatrix._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearMap.toMatrix._proof_3.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) -> (Matrix.{u4, u4, u1} ι ι R)) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u3, max u4 u1} R R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearMap.toMatrix._proof_3.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.toMatrix._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.toMatrix._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.toMatrix.{u1, u4, u4, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 v v') f))), Eq.{max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_6.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_7.{u1} R _inst_1) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_6.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_7.{u1} R _inst_1) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_6.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_7.{u1} R _inst_1) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (coeBase.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_6.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_7.{u1} R _inst_1) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u2, u3} R R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_6.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_7.{u1} R _inst_1))))) (LinearEquiv.ofIsUnitDet.{u1, u2, u3, u4} R _inst_1 M _inst_2 _inst_3 M' _inst_4 _inst_5 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 f v v' h)) f
-but is expected to have type
-  forall {R : Type.{u4}} [_inst_1 : CommRing.{u4} R] {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] {M' : Type.{u2}} [_inst_4 : AddCommGroup.{u2} M'] [_inst_5 : Module.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] {f : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5} {v : Basis.{u1, u4, u3} ι R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3} {v' : Basis.{u1, u4, u2} ι R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5} (h : IsUnit.{u4} R (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (Matrix.det.{u4, u1} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), max (succ u3) (succ u2), max (succ u4) (succ u1)} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) => Matrix.{u1, u1, u4} ι ι R) _x) (SMulHomClass.toFunLike.{max (max (max u4 u3) u2) u1, u4, max u3 u2, max u4 u1} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (SMulZeroClass.toSMul.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toZero.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toAddZeroClass.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Module.toDistribMulAction.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))))))) (SMulZeroClass.toSMul.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (AddMonoid.toZero.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (AddMonoid.toAddZeroClass.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u4 u3) u2) u1, u4, max u3 u2, max u4 u1} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5))))) (Module.toDistribMulAction.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u4, max u3 u2, max u4 u1, max (max (max u4 u3) u2) u1} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, max u3 u2, max u4 u1, max (max (max u4 u3) u2) u1} R R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, max u3 u2, max u4 u1} R R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (LinearMap.toMatrix.{u4, u1, u1, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 v v') f))), Eq.{max (succ u3) (succ u2)} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearEquiv.toLinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (LinearEquiv.ofIsUnitDet.{u4, u3, u2, u1} R _inst_1 M _inst_2 _inst_3 M' _inst_4 _inst_5 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 f v v' h)) f
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_equiv.coe_of_is_unit_det LinearEquiv.coe_ofIsUnitDetₓ'. -/
 @[simp]
 theorem LinearEquiv.coe_ofIsUnitDet {f : M →ₗ[R] M'} {v : Basis ι R M} {v' : Basis ι R M'}
@@ -756,10 +645,7 @@ theorem LinearEquiv.coe_ofIsUnitDet {f : M →ₗ[R] M'} {v : Basis ι R M} {v'
 #align linear_equiv.coe_of_is_unit_det LinearEquiv.coe_ofIsUnitDet
 
 /- warning: linear_map.equiv_of_det_ne_zero -> LinearMap.equivOfDetNeZero is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} [_inst_8 : Field.{u1} 𝕜] {M : Type.{u2}} [_inst_9 : AddCommGroup.{u2} M] [_inst_10 : Module.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9)] [_inst_11 : FiniteDimensional.{u1, u2} 𝕜 M (Field.toDivisionRing.{u1} 𝕜 _inst_8) _inst_9 _inst_10] (f : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))) (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10), (Ne.{succ u1} 𝕜 (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) _inst_9 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) _inst_9 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) => (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) -> 𝕜) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) _inst_9 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) (LinearMap.det.{u2, u1} M _inst_9 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)) _inst_10) f) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))))))))))) -> (LinearEquiv.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))) (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))))) (LinearMap.equivOfDetNeZero._proof_1.{u1} 𝕜 _inst_8) (LinearMap.equivOfDetNeZero._proof_2.{u1} 𝕜 _inst_8) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10)
-but is expected to have type
-  forall {𝕜 : Type.{u1}} [_inst_8 : Field.{u1} 𝕜] {M : Type.{u2}} [_inst_9 : AddCommGroup.{u2} M] [_inst_10 : Module.{u1, u2} 𝕜 M (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9)] [_inst_11 : FiniteDimensional.{u1, u2} 𝕜 M (Field.toDivisionRing.{u1} 𝕜 _inst_8) _inst_9 _inst_10] (f : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10), (Ne.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.semiring.{u1, u2} 𝕜 M (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (fun (_x : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.semiring.{u1, u2} 𝕜 M (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.semiring.{u1, u2} 𝕜 M (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10))))) (MulOneClass.toMul.{u1} 𝕜 (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.semiring.{u1, u2} 𝕜 M (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.semiring.{u1, u2} 𝕜 M (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8))))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.semiring.{u1, u2} 𝕜 M (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))))) (LinearMap.det.{u2, u1} M _inst_9 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)) _inst_10) f) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) (CommMonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) (CommGroupWithZero.toCommMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) (Semifield.toCommGroupWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) (Field.toSemifield.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) _inst_8))))))) -> (LinearEquiv.{u1, u1, u2, u2} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10)
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_map.equiv_of_det_ne_zero LinearMap.equivOfDetNeZeroₓ'. -/
 /-- Builds a linear equivalence from a linear map on a finite-dimensional vector space whose
 determinant is nonzero. -/
@@ -775,10 +661,7 @@ def LinearMap.equivOfDetNeZero {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCom
 #align linear_map.equiv_of_det_ne_zero LinearMap.equivOfDetNeZero
 
 /- warning: linear_map.associated_det_of_eq_comp -> LinearMap.associated_det_of_eq_comp is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (e : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (f : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (f' : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3), (forall (x : M), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f x) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f' (coeFn.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => M -> M) (LinearEquiv.hasCoeToFun.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) e x))) -> (Associated.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) f) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) f'))
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (e : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (f : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (f' : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3), (forall (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) x) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f x) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f' (FunLike.coe.{succ u1, succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : M) => M) _x) (SMulHomClass.toFunLike.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R M M (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (Module.toDistribMulAction.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (Module.toDistribMulAction.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R M M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (Module.toDistribMulAction.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Module.toDistribMulAction.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, u1, u1} R M M (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, u1, u1} R R M M (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) e x))) -> (Associated.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) _inst_1)))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) f'))
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_map.associated_det_of_eq_comp LinearMap.associated_det_of_eq_compₓ'. -/
 theorem LinearMap.associated_det_of_eq_comp (e : M ≃ₗ[R] M) (f f' : M →ₗ[R] M)
     (h : ∀ x, f x = f' (e x)) : Associated f.det f'.det :=
@@ -793,10 +676,7 @@ theorem LinearMap.associated_det_of_eq_comp (e : M ≃ₗ[R] M) (f f' : M →ₗ
 #align linear_map.associated_det_of_eq_comp LinearMap.associated_det_of_eq_comp
 
 /- warning: linear_map.associated_det_comp_equiv -> LinearMap.associated_det_comp_equiv is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {N : Type.{u3}} [_inst_8 : AddCommGroup.{u3} N] [_inst_9 : Module.{u1, u3} R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8)] (f : LinearMap.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_3) (e : LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (e' : LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9), Associated.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) (LinearMap.comp.{u1, u1, u1, u2, u3, u2} R R R M N M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomCompTriple.ids.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (coeBase.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u2, u3} R R M N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) e))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) (LinearMap.comp.{u1, u1, u1, u2, u3, u2} R R R M N M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomCompTriple.ids.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (coeBase.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u2, u3} R R M N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) e')))
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {N : Type.{u3}} [_inst_8 : AddCommGroup.{u3} N] [_inst_9 : Module.{u2, u3} R N (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8)] (f : LinearMap.{u2, u2, u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_3) (e : LinearEquiv.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (e' : LinearEquiv.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9), Associated.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) _inst_1)))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e')))
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_map.associated_det_comp_equiv LinearMap.associated_det_comp_equivₓ'. -/
 theorem LinearMap.associated_det_comp_equiv {N : Type _} [AddCommGroup N] [Module R N]
     (f : N →ₗ[R] M) (e e' : M ≃ₗ[R] N) : Associated (f ∘ₗ ↑e).det (f ∘ₗ ↑e').det :=
@@ -911,10 +791,7 @@ theorem Basis.isUnit_det (e' : Basis ι R M) : IsUnit (e.det e') :=
 #align basis.is_unit_det Basis.isUnit_det
 
 /- warning: alternating_map.eq_smul_basis_det -> AlternatingMap.eq_smul_basis_det is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (f : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι), Eq.{max (succ u2) (succ u1) (succ u3)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) f (SMul.smul.{u1, max u2 u1 u3} R (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (AlternatingMap.smul.{u1, u2, u1, u3, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Module.toDistribMulAction.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (smulCommClass_self.{u1, u1} R R (CommRing.toCommMonoid.{u1} R _inst_1) (Monoid.toMulAction.{u1} R (CommMonoid.toMonoid.{u1} R (CommRing.toCommMonoid.{u1} R _inst_1))))) (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) f (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (fun (_x : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) e)) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e))
-but is expected to have type
-  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] (e : Basis.{u1, u3, u2} ι R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (f : AlternatingMap.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι), Eq.{max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) f (HSMul.hSMul.{u3, max (max u3 u2) u1, max (max u3 u2) u1} R (AlternatingMap.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (AlternatingMap.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (instHSMul.{u3, max (max u3 u2) u1} R (AlternatingMap.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (AlternatingMap.smul.{u3, u2, u3, u1, u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (smulCommClass_self.{u3, u3} R R (CommRing.toCommMonoid.{u3} R _inst_1) (MulActionWithZero.toMulAction.{u3, u3} R R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (AlternatingMap.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) f (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) e)) (Basis.det.{u3, u2, u1} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e))
+<too large>
 Case conversion may be inaccurate. Consider using '#align alternating_map.eq_smul_basis_det AlternatingMap.eq_smul_basis_detₓ'. -/
 /-- Any alternating map to `R` where `ι` has the cardinality of a basis equals the determinant
 map with respect to that basis, multiplied by the value of that alternating map on that basis. -/
@@ -927,10 +804,7 @@ theorem AlternatingMap.eq_smul_basis_det (f : AlternatingMap R M R ι) : f = f e
 #align alternating_map.eq_smul_basis_det AlternatingMap.eq_smul_basis_det
 
 /- warning: alternating_map.map_basis_eq_zero_iff -> AlternatingMap.map_basis_eq_zero_iff is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_8 : Finite.{succ u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (f : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι), Iff (Eq.{succ u1} R (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) f (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (fun (_x : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) e)) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))))) (Eq.{max (succ u2) (succ u1) (succ u3)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) f (OfNat.ofNat.{max u2 u1 u3} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) 0 (OfNat.mk.{max u2 u1 u3} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) 0 (Zero.zero.{max u2 u1 u3} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (AlternatingMap.zero.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι)))))
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_8 : Finite.{succ u3} ι] (e : Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (f : AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι), Iff (Eq.{succ u2} R (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) f (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) e)) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Eq.{max (max (succ u2) (succ u1)) (succ u3)} (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) f (OfNat.ofNat.{max (max u2 u1) u3} (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) 0 (Zero.toOfNat0.{max (max u2 u1) u3} (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (AlternatingMap.zero.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align alternating_map.map_basis_eq_zero_iff AlternatingMap.map_basis_eq_zero_iffₓ'. -/
 @[simp]
 theorem AlternatingMap.map_basis_eq_zero_iff {ι : Type _} [Finite ι] (e : Basis ι R M)
@@ -942,10 +816,7 @@ theorem AlternatingMap.map_basis_eq_zero_iff {ι : Type _} [Finite ι] (e : Basi
 #align alternating_map.map_basis_eq_zero_iff AlternatingMap.map_basis_eq_zero_iff
 
 /- warning: alternating_map.map_basis_ne_zero_iff -> AlternatingMap.map_basis_ne_zero_iff is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_8 : Finite.{succ u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (f : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι), Iff (Ne.{succ u1} R (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) f (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (fun (_x : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) e)) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))))) (Ne.{max (succ u2) (succ u1) (succ u3)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) f (OfNat.ofNat.{max u2 u1 u3} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) 0 (OfNat.mk.{max u2 u1 u3} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) 0 (Zero.zero.{max u2 u1 u3} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (AlternatingMap.zero.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι)))))
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_8 : Finite.{succ u3} ι] (e : Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (f : AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι), Iff (Ne.{succ u2} R (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) f (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) e)) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Ne.{max (max (succ u2) (succ u1)) (succ u3)} (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) f (OfNat.ofNat.{max (max u2 u1) u3} (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) 0 (Zero.toOfNat0.{max (max u2 u1) u3} (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (AlternatingMap.zero.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align alternating_map.map_basis_ne_zero_iff AlternatingMap.map_basis_ne_zero_iffₓ'. -/
 theorem AlternatingMap.map_basis_ne_zero_iff {ι : Type _} [Finite ι] (e : Basis ι R M)
     (f : AlternatingMap R M R ι) : f e ≠ 0 ↔ f ≠ 0 :=
@@ -955,10 +826,7 @@ theorem AlternatingMap.map_basis_ne_zero_iff {ι : Type _} [Finite ι] (e : Basi
 variable {A : Type _} [CommRing A] [Module A M]
 
 /- warning: basis.det_comp -> Basis.det_comp is a dubious translation:
-lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Module.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (e : Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (v : ι -> M), Eq.{succ u3} A (coeFn.{max (succ u1) (succ u3) (succ u2), max (max (succ u2) (succ u1)) (succ u3)} (AlternatingMap.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) (fun (_x : AlternatingMap.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) => (ι -> M) -> A) (AlternatingMap.coeFun.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) (Basis.det.{u3, u1, u2} A _inst_8 M _inst_2 _inst_9 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (Function.comp.{succ u2, succ u1, succ u1} ι M M (coeFn.{succ u1, succ u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => M -> M) (LinearMap.hasCoeToFun.{u3, u3, u1, u1} A A M M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))))) f) v)) (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (Ring.toDistrib.{u3} A (CommRing.toRing.{u3} A _inst_8)))) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.det.{u1, u3} M _inst_2 A _inst_8 _inst_9) f) (coeFn.{max (succ u1) (succ u3) (succ u2), max (max (succ u2) (succ u1)) (succ u3)} (AlternatingMap.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) (fun (_x : AlternatingMap.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) => (ι -> M) -> A) (AlternatingMap.coeFun.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) (Basis.det.{u3, u1, u2} A _inst_8 M _inst_2 _inst_9 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v))
-but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (e : Basis.{u3, u2, u1} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (v : ι -> M), Eq.{succ u2} A (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) ι) (ι -> M) (fun (_x : ι -> M) => A) (AlternatingMap.funLike.{u2, u1, u2, u3} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) ι) (Basis.det.{u2, u1, u3} A _inst_8 M _inst_2 _inst_9 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (Function.comp.{succ u3, succ u1, succ u1} ι M M (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) f) v)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) A ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) ι) (ι -> M) (fun (_x : ι -> M) => A) (AlternatingMap.funLike.{u2, u1, u2, u3} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) ι) (Basis.det.{u2, u1, u3} A _inst_8 M _inst_2 _inst_9 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v))
+<too large>
 Case conversion may be inaccurate. Consider using '#align basis.det_comp Basis.det_compₓ'. -/
 @[simp]
 theorem Basis.det_comp (e : Basis ι A M) (f : M →ₗ[A] M) (v : ι → M) :
@@ -969,10 +837,7 @@ theorem Basis.det_comp (e : Basis ι A M) (f : M →ₗ[A] M) (v : ι → M) :
 #align basis.det_comp Basis.det_comp
 
 /- warning: basis.det_comp_basis -> Basis.det_comp_basis is a dubious translation:
-lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {M' : Type.{u2}} [_inst_4 : AddCommGroup.{u2} M'] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u4}} [_inst_8 : CommRing.{u4} A] [_inst_9 : Module.{u4, u1} A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] [_inst_10 : Module.{u4, u2} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4)] (b : Basis.{u3, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (b' : Basis.{u3, u4, u2} ι A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10) (f : LinearMap.{u4, u4, u1, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_9 _inst_10), Eq.{succ u4} A (coeFn.{max (succ u2) (succ u4) (succ u3), max (max (succ u3) (succ u2)) (succ u4)} (AlternatingMap.{u4, u2, u4, u3} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 A (AddCommGroup.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toAddCommGroup.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) ι) (fun (_x : AlternatingMap.{u4, u2, u4, u3} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 A (AddCommGroup.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toAddCommGroup.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) ι) => (ι -> M') -> A) (AlternatingMap.coeFun.{u4, u2, u4, u3} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 A (AddCommGroup.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toAddCommGroup.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) ι) (Basis.det.{u4, u2, u3} A _inst_8 M' _inst_4 _inst_10 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b') (Function.comp.{succ u3, succ u1, succ u2} ι M M' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u4, u4, u1, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_9 _inst_10) (fun (_x : LinearMap.{u4, u4, u1, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_9 _inst_10) => M -> M') (LinearMap.hasCoeToFun.{u4, u4, u1, u2} A A M M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_9 _inst_10 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))))) f) (coeFn.{max (succ u3) (succ u4) (succ u1), max (succ u3) (succ u1)} (Basis.{u3, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (fun (_x : Basis.{u3, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) => ι -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u4) (succ u1), succ u3, succ u1} (Basis.{u3, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) ι (fun (_x : ι) => M) (Basis.funLike.{u3, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) b))) (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Module.End.ring.{u4, u2} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) _inst_4 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))))) (fun (_x : MonoidHom.{u2, u4} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Module.End.ring.{u4, u2} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) _inst_4 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))))) => (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) -> A) (MonoidHom.hasCoeToFun.{u2, u4} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Module.End.ring.{u4, u2} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) _inst_4 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))))) (LinearMap.det.{u2, u4} M' _inst_4 A _inst_8 _inst_10) (LinearMap.comp.{u4, u4, u4, u2, u1, u2} A A A M' M M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_9 _inst_10 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomCompTriple.ids.{u4, u4} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))))) f ((fun (a : Sort.{max (succ u2) (succ u1)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u2) (succ u1), max (succ u2) (succ u1)} a b] => self.0) (LinearEquiv.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (LinearMap.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (HasLiftT.mk.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (LinearMap.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (CoeTCₓ.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (LinearMap.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (coeBase.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (LinearMap.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u4, u4, u2, u1} A A M' M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))))))) (Basis.equiv.{u3, u3, u4, u2, u1} ι ι A M' M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 b' b (Equiv.refl.{succ u3} ι)))))
-but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u4}} [_inst_8 : CommRing.{u4} A] [_inst_9 : Module.{u4, u1} A M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] [_inst_10 : Module.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] (b : Basis.{u2, u4, u1} ι A M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (b' : Basis.{u2, u4, u3} ι A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10) (f : LinearMap.{u4, u4, u1, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_9 _inst_10), Eq.{succ u4} A (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u2), succ u4} (AlternatingMap.{u4, u3, u4, u2} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))) ι) (ι -> M') (fun (_x : ι -> M') => A) (AlternatingMap.funLike.{u4, u3, u4, u2} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))) ι) (Basis.det.{u4, u3, u2} A _inst_8 M' _inst_4 _inst_10 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b') (Function.comp.{succ u2, succ u1, succ u3} ι M M' (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u4, u4, u1, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_9 _inst_10) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u1, u3} A A M M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_9 _inst_10 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))))) f) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), succ u2, succ u1} (Basis.{u2, u4, u1} ι A M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u2, u4, u1} ι A M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) b))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))) (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (fun (_x : LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) => A) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))) (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulOneClass.toMul.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10))))) (MulOneClass.toMul.{u4} A (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))) (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))))) (LinearMap.det.{u3, u4} M' _inst_4 A _inst_8 _inst_10) (LinearMap.comp.{u4, u4, u4, u3, u1, u3} A A A M' M M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_9 _inst_10 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHomCompTriple.ids.{u4, u4} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))))) f (LinearEquiv.toLinearMap.{u4, u4, u3, u1} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9 (Basis.equiv.{u2, u2, u4, u3, u1} ι ι A M' M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 b' b (Equiv.refl.{succ u2} ι)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align basis.det_comp_basis Basis.det_comp_basisₓ'. -/
 @[simp]
 theorem Basis.det_comp_basis [Module A M'] (b : Basis ι A M) (b' : Basis ι A M') (f : M →ₗ[A] M') :
@@ -985,10 +850,7 @@ theorem Basis.det_comp_basis [Module A M'] (b : Basis ι A M) (b' : Basis ι A M
 #align basis.det_comp_basis Basis.det_comp_basis
 
 /- warning: basis.det_reindex -> Basis.det_reindex is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {ι' : Type.{u4}} [_inst_10 : Fintype.{u4} ι'] [_inst_11 : DecidableEq.{succ u4} ι'] (b : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (v : ι' -> M) (e : Equiv.{succ u3, succ u4} ι ι'), Eq.{succ u1} R (coeFn.{max (succ u2) (succ u1) (succ u4), max (max (succ u4) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι') (fun (_x : AlternatingMap.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι') => (ι' -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι') (Basis.det.{u1, u2, u4} R _inst_1 M _inst_2 _inst_3 ι' (fun (a : ι') (b : ι') => _inst_11 a b) _inst_10 (Basis.reindex.{u3, u4, u1, u2} ι ι' R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 b e)) v) (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) (Function.comp.{succ u3, succ u4, succ u2} ι ι' M v (coeFn.{max 1 (max (succ u3) (succ u4)) (succ u4) (succ u3), max (succ u3) (succ u4)} (Equiv.{succ u3, succ u4} ι ι') (fun (_x : Equiv.{succ u3, succ u4} ι ι') => ι -> ι') (Equiv.hasCoeToFun.{succ u3, succ u4} ι ι') e)))
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {ι' : Type.{u4}} [_inst_10 : Fintype.{u4} ι'] [_inst_11 : DecidableEq.{succ u4} ι'] (b : Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (v : ι' -> M) (e : Equiv.{succ u3, succ u4} ι ι'), Eq.{succ u2} R (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), max (succ u1) (succ u4), succ u2} (AlternatingMap.{u2, u1, u2, u4} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι') (ι' -> M) (fun (_x : ι' -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u4} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι') (Basis.det.{u2, u1, u4} R _inst_1 M _inst_2 _inst_3 ι' (fun (a : ι') (b : ι') => _inst_11 a b) _inst_10 (Basis.reindex.{u3, u4, u2, u1} ι ι' R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 b e)) v) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) (Function.comp.{succ u3, succ u4, succ u1} ι ι' M v (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (Equiv.{succ u3, succ u4} ι ι') ι (fun (_x : ι) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι) => ι') _x) (Equiv.instFunLikeEquiv.{succ u3, succ u4} ι ι') e)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align basis.det_reindex Basis.det_reindexₓ'. -/
 theorem Basis.det_reindex {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (b : Basis ι R M) (v : ι' → M)
     (e : ι ≃ ι') : (b.reindex e).det v = b.det (v ∘ e) := by
@@ -996,10 +858,7 @@ theorem Basis.det_reindex {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (b : Ba
 #align basis.det_reindex Basis.det_reindex
 
 /- warning: basis.det_reindex_symm -> Basis.det_reindex_symm is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {ι' : Type.{u4}} [_inst_10 : Fintype.{u4} ι'] [_inst_11 : DecidableEq.{succ u4} ι'] (b : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (v : ι -> M) (e : Equiv.{succ u4, succ u3} ι' ι), Eq.{succ u1} R (coeFn.{max (succ u2) (succ u1) (succ u4), max (max (succ u4) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι') (fun (_x : AlternatingMap.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι') => (ι' -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι') (Basis.det.{u1, u2, u4} R _inst_1 M _inst_2 _inst_3 ι' (fun (a : ι') (b : ι') => _inst_11 a b) _inst_10 (Basis.reindex.{u3, u4, u1, u2} ι ι' R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 b (Equiv.symm.{succ u4, succ u3} ι' ι e))) (Function.comp.{succ u4, succ u3, succ u2} ι' ι M v (coeFn.{max 1 (max (succ u4) (succ u3)) (succ u3) (succ u4), max (succ u4) (succ u3)} (Equiv.{succ u4, succ u3} ι' ι) (fun (_x : Equiv.{succ u4, succ u3} ι' ι) => ι' -> ι) (Equiv.hasCoeToFun.{succ u4, succ u3} ι' ι) e))) (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) v)
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {ι' : Type.{u4}} [_inst_10 : Fintype.{u4} ι'] [_inst_11 : DecidableEq.{succ u4} ι'] (b : Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (v : ι -> M) (e : Equiv.{succ u4, succ u3} ι' ι), Eq.{succ u2} R (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), max (succ u1) (succ u4), succ u2} (AlternatingMap.{u2, u1, u2, u4} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι') (ι' -> M) (fun (_x : ι' -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u4} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι') (Basis.det.{u2, u1, u4} R _inst_1 M _inst_2 _inst_3 ι' (fun (a : ι') (b : ι') => _inst_11 a b) _inst_10 (Basis.reindex.{u3, u4, u2, u1} ι ι' R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 b (Equiv.symm.{succ u4, succ u3} ι' ι e))) (Function.comp.{succ u4, succ u3, succ u1} ι' ι M v (FunLike.coe.{max (succ u3) (succ u4), succ u4, succ u3} (Equiv.{succ u4, succ u3} ι' ι) ι' (fun (_x : ι') => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι') => ι) _x) (Equiv.instFunLikeEquiv.{succ u4, succ u3} ι' ι) e))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) v)
+<too large>
 Case conversion may be inaccurate. Consider using '#align basis.det_reindex_symm Basis.det_reindex_symmₓ'. -/
 theorem Basis.det_reindex_symm {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (b : Basis ι R M)
     (v : ι → M) (e : ι' ≃ ι) : (b.reindex e.symm).det (v ∘ e) = b.det v := by
@@ -1007,10 +866,7 @@ theorem Basis.det_reindex_symm {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (b
 #align basis.det_reindex_symm Basis.det_reindex_symm
 
 /- warning: basis.det_map -> Basis.det_map is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] {ι : Type.{u4}} [_inst_6 : DecidableEq.{succ u4} ι] [_inst_7 : Fintype.{u4} ι] (b : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (f : LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (v : ι -> M'), Eq.{succ u1} R (coeFn.{max (succ u3) (succ u1) (succ u4), max (max (succ u4) (succ u3)) (succ u1)} (AlternatingMap.{u1, u3, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u3, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M') -> R) (AlternatingMap.coeFun.{u1, u3, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u3, u4} R _inst_1 M' _inst_4 _inst_5 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 (Basis.map.{u4, u1, u2, u3} ι R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 b f)) v) (coeFn.{max (succ u2) (succ u1) (succ u4), max (max (succ u4) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u4} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) (Function.comp.{succ u4, succ u3, succ u2} ι M' M (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (LinearEquiv.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (fun (_x : LinearEquiv.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) => M' -> M) (LinearEquiv.hasCoeToFun.{u1, u1, u3, u2} R R M' M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.symm.{u1, u1, u2, u3} R R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f)) v))
-but is expected to have type
-  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u1}} [_inst_4 : AddCommGroup.{u1} M'] [_inst_5 : Module.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4)] {ι : Type.{u4}} [_inst_6 : DecidableEq.{succ u4} ι] [_inst_7 : Fintype.{u4} ι] (b : Basis.{u4, u3, u2} ι R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (f : LinearEquiv.{u3, u3, u2, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5) (v : ι -> M'), Eq.{succ u3} R (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u4), max (succ u1) (succ u4), succ u3} (AlternatingMap.{u3, u1, u3, u4} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (ι -> M') (fun (_x : ι -> M') => R) (AlternatingMap.funLike.{u3, u1, u3, u4} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (Basis.det.{u3, u1, u4} R _inst_1 M' _inst_4 _inst_5 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 (Basis.map.{u4, u3, u2, u1} ι R M M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 b f)) v) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u4), max (succ u2) (succ u4), succ u3} (AlternatingMap.{u3, u2, u3, u4} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u3, u2, u3, u4} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (Basis.det.{u3, u2, u4} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) (Function.comp.{succ u4, succ u1, succ u2} ι M' M (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (LinearEquiv.{u3, u3, u1, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) M' (fun (_x : M') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : M') => M) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u1, u2} (LinearEquiv.{u3, u3, u1, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) R M' M (SMulZeroClass.toSMul.{u3, u1} R M' (AddMonoid.toZero.{u1} M' (AddCommMonoid.toAddMonoid.{u1} M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4))) (DistribSMul.toSMulZeroClass.{u3, u1} R M' (AddMonoid.toAddZeroClass.{u1} M' (AddCommMonoid.toAddMonoid.{u1} M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4))) (DistribMulAction.toDistribSMul.{u3, u1} R M' (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4)) (Module.toDistribMulAction.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Module.toDistribMulAction.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u1, u2} (LinearEquiv.{u3, u3, u1, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) R M' M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4)) (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Module.toDistribMulAction.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5) (Module.toDistribMulAction.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u3, u1, u2, max u2 u1} R M' M (LinearEquiv.{u3, u3, u1, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u1, u2, max u2 u1} R R M' M (LinearEquiv.{u3, u3, u1, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u1, u2} R R M' M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (LinearEquiv.symm.{u3, u3, u2, u1} R R M M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) f)) v))
+<too large>
 Case conversion may be inaccurate. Consider using '#align basis.det_map Basis.det_mapₓ'. -/
 @[simp]
 theorem Basis.det_map (b : Basis ι R M) (f : M ≃ₗ[R] M') (v : ι → M') :
@@ -1019,10 +875,7 @@ theorem Basis.det_map (b : Basis ι R M) (f : M ≃ₗ[R] M') (v : ι → M') :
 #align basis.det_map Basis.det_map
 
 /- warning: basis.det_map' -> Basis.det_map' is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] {ι : Type.{u4}} [_inst_6 : DecidableEq.{succ u4} ι] [_inst_7 : Fintype.{u4} ι] (b : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (f : LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5), Eq.{max (succ u3) (succ u1) (succ u4)} (AlternatingMap.{u1, u3, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u3, u4} R _inst_1 M' _inst_4 _inst_5 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 (Basis.map.{u4, u1, u2, u3} ι R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 b f)) (AlternatingMap.compLinearMap.{u1, u2, u1, u4, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 (Basis.det.{u1, u2, u4} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) ((fun (a : Sort.{max (succ u3) (succ u2)}) (b : Sort.{max (succ u3) (succ u2)}) [self : HasLiftT.{max (succ u3) (succ u2), max (succ u3) (succ u2)} a b] => self.0) (LinearEquiv.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (LinearMap.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (HasLiftT.mk.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (LinearEquiv.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (LinearMap.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (CoeTCₓ.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (LinearEquiv.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (LinearMap.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (coeBase.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (LinearEquiv.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (LinearMap.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u3, u2} R R M' M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (LinearEquiv.symm.{u1, u1, u2, u3} R R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f)))
-but is expected to have type
-  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u1}} [_inst_4 : AddCommGroup.{u1} M'] [_inst_5 : Module.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4)] {ι : Type.{u4}} [_inst_6 : DecidableEq.{succ u4} ι] [_inst_7 : Fintype.{u4} ι] (b : Basis.{u4, u3, u2} ι R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (f : LinearEquiv.{u3, u3, u2, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5), Eq.{max (max (succ u3) (succ u1)) (succ u4)} (AlternatingMap.{u3, u1, u3, u4} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (Basis.det.{u3, u1, u4} R _inst_1 M' _inst_4 _inst_5 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 (Basis.map.{u4, u3, u2, u1} ι R M M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 b f)) (AlternatingMap.compLinearMap.{u3, u2, u3, u4, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 (Basis.det.{u3, u2, u4} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) (LinearEquiv.toLinearMap.{u3, u3, u1, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 (LinearEquiv.symm.{u3, u3, u2, u1} R R M M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) f)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align basis.det_map' Basis.det_map'ₓ'. -/
 theorem Basis.det_map' (b : Basis ι R M) (f : M ≃ₗ[R] M') :
     (b.map f).det = b.det.compLinearMap f.symm :=
@@ -1043,10 +896,7 @@ theorem Pi.basisFun_det : (Pi.basisFun R ι).det = Matrix.detRowAlternating :=
 #align pi.basis_fun_det Pi.basisFun_det
 
 /- warning: basis.det_smul_mk_coord_eq_det_update -> Basis.det_smul_mk_coord_eq_det_update is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) {v : ι -> M} (hli : LinearIndependent.{u3, u1, u2} ι R M v (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (hsp : LE.le.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (Top.top.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (Set.range.{u2, succ u3} M ι v))) (i : ι), Eq.{succ (max u2 u1)} (LinearMap.{u1, u1, u2, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M R (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_3 (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (SMul.smul.{u1, max u2 u1} R (LinearMap.{u1, u1, u2, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M R (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_3 (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearMap.hasSmul.{u1, u1, u1, u2, u1} R R R M R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_3 (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Module.toDistribMulAction.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (smulCommClass_self.{u1, u1} R R (CommRing.toCommMonoid.{u1} R _inst_1) (Monoid.toMulAction.{u1} R (CommMonoid.toMonoid.{u1} R (CommRing.toCommMonoid.{u1} R _inst_1))))) (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v) (Basis.coord.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (Basis.mk.{u3, u1, u2} ι R M v (CommRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 hli hsp) i)) (MultilinearMap.toLinearMap.{u1, u2, u1, u3} R ι (fun (i : ι) => M) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => _inst_3) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AlternatingMap.toMultilinearMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e)) (fun (a : ι) (b : ι) => _inst_6 a b) v i)
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) {v : ι -> M} (hli : LinearIndependent.{u3, u2, u1} ι R M v (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (hsp : LE.le.{u1} (Submodule.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Preorder.toLE.{u1} (Submodule.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (Top.top.{u1} (Submodule.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.instTopSubmodule.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (Submodule.span.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 (Set.range.{u1, succ u3} M ι v))) (i : ι), Eq.{max (succ u2) (succ u1)} (LinearMap.{u2, u2, u1, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M R (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _inst_3 (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (HSMul.hSMul.{u2, max u2 u1, max u2 u1} R (LinearMap.{u2, u2, u1, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M R (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _inst_3 (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (LinearMap.{u2, u2, u1, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M R (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _inst_3 (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (instHSMul.{u2, max u2 u1} R (LinearMap.{u2, u2, u1, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M R (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _inst_3 (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (LinearMap.instSMulLinearMap.{u2, u2, u2, u1, u2} R R R M R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _inst_3 (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (smulCommClass_self.{u2, u2} R R (CommRing.toCommMonoid.{u2} R _inst_1) (MulActionWithZero.toMulAction.{u2, u2} R R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v) (Basis.coord.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 (Basis.mk.{u3, u2, u1} ι R M v (CommRing.toRing.{u2} R _inst_1) _inst_2 _inst_3 hli hsp) i)) (MultilinearMap.toLinearMap.{u2, u1, u2, u3} R ι (fun (i : ι) => M) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (fun (i : ι) => _inst_3) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AlternatingMap.toMultilinearMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e)) (fun (a : ι) (b : ι) => _inst_6 a b) v i)
+<too large>
 Case conversion may be inaccurate. Consider using '#align basis.det_smul_mk_coord_eq_det_update Basis.det_smul_mk_coord_eq_det_updateₓ'. -/
 /-- If we fix a background basis `e`, then for any other basis `v`, we can characterise the
 coordinates provided by `v` in terms of determinants relative to `e`. -/
Diff
@@ -163,7 +163,7 @@ variable {κ : Type _} [Fintype κ]
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Module.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {κ : Type.{u4}} [_inst_10 : Fintype.{u4} κ] [_inst_11 : DecidableEq.{succ u4} κ] (b : Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (c : Basis.{u4, u3, u1} κ A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u3} A (Matrix.det.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (coeFn.{max (succ u1) (succ (max u2 u3)), max (succ u1) (succ (max u2 u3))} (LinearEquiv.{u3, u3, u1, max u2 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (fun (_x : LinearEquiv.{u3, u3, u1, max u2 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) => (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> (Matrix.{u2, u2, u3} ι ι A)) (LinearEquiv.hasCoeToFun.{u3, u3, u1, max u2 u3} A A (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))) (LinearMap.toMatrix.{u3, u2, u2, u1, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f)) (Matrix.det.{u3, u4} κ (fun (a : κ) (b : κ) => _inst_11 a b) _inst_10 A _inst_8 (coeFn.{max (succ u1) (succ (max u4 u3)), max (succ u1) (succ (max u4 u3))} (LinearEquiv.{u3, u3, u1, max u4 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u3} κ κ A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u4, u4, u3} κ κ A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (fun (_x : LinearEquiv.{u3, u3, u1, max u4 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u3} κ κ A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u4, u4, u3} κ κ A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) => (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> (Matrix.{u4, u4, u3} κ κ A)) (LinearEquiv.hasCoeToFun.{u3, u3, u1, max u4 u3} A A (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u3} κ κ A) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u4, u4, u3} κ κ A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))) (LinearMap.toMatrix.{u3, u4, u4, u1, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) κ κ _inst_10 _inst_10 (fun (a : κ) (b : κ) => _inst_11 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 c c) f))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {κ : Type.{u4}} [_inst_10 : Fintype.{u4} κ] [_inst_11 : DecidableEq.{succ u4} κ] (b : Basis.{u3, u2, u1} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (c : Basis.{u4, u2, u1} κ A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} A (Matrix.det.{u2, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => Matrix.{u3, u3, u2} ι ι A) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (SMulZeroClass.toSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toZero.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toAddZeroClass.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u1 u3) u2} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u1 u3) u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u3, u3, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f)) (Matrix.det.{u2, u4} κ (fun (a : κ) (b : κ) => _inst_11 a b) _inst_10 A _inst_8 (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), succ u1, max (succ u2) (succ u4)} (LinearEquiv.{u2, u2, u1, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => Matrix.{u4, u4, u2} κ κ A) _x) (SMulHomClass.toFunLike.{max (max u1 u2) u4, u2, u1, max u2 u4} (LinearEquiv.{u2, u2, u1, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (SMulZeroClass.toSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u2 u4} A (Matrix.{u4, u4, u2} κ κ A) (AddMonoid.toZero.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u4} A (Matrix.{u4, u4, u2} κ κ A) (AddMonoid.toAddZeroClass.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u4} A (Matrix.{u4, u4, u2} κ κ A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u2 u4} A (Matrix.{u4, u4, u2} κ κ A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u2) u4, u2, u1, max u2 u4} (LinearEquiv.{u2, u2, u1, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u2 u4} A (Matrix.{u4, u4, u2} κ κ A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u2 u4, max (max u1 u2) u4} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearEquiv.{u2, u2, u1, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u2 u4, max (max u1 u2) u4} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearEquiv.{u2, u2, u1, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u2 u4} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u4, u4, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) κ κ _inst_10 _inst_10 (fun (a : κ) (b : κ) => _inst_11 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 c c) f))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {κ : Type.{u4}} [_inst_10 : Fintype.{u4} κ] [_inst_11 : DecidableEq.{succ u4} κ] (b : Basis.{u3, u2, u1} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (c : Basis.{u4, u2, u1} κ A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} A (Matrix.det.{u2, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => Matrix.{u3, u3, u2} ι ι A) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (SMulZeroClass.toSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toZero.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toAddZeroClass.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u1 u3) u2} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u1 u3) u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u3, u3, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f)) (Matrix.det.{u2, u4} κ (fun (a : κ) (b : κ) => _inst_11 a b) _inst_10 A _inst_8 (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), succ u1, max (succ u2) (succ u4)} (LinearEquiv.{u2, u2, u1, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => Matrix.{u4, u4, u2} κ κ A) _x) (SMulHomClass.toFunLike.{max (max u1 u2) u4, u2, u1, max u2 u4} (LinearEquiv.{u2, u2, u1, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (SMulZeroClass.toSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u2 u4} A (Matrix.{u4, u4, u2} κ κ A) (AddMonoid.toZero.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u4} A (Matrix.{u4, u4, u2} κ κ A) (AddMonoid.toAddZeroClass.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u4} A (Matrix.{u4, u4, u2} κ κ A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u2 u4} A (Matrix.{u4, u4, u2} κ κ A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u2) u4, u2, u1, max u2 u4} (LinearEquiv.{u2, u2, u1, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u2 u4} A (Matrix.{u4, u4, u2} κ κ A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u2 u4, max (max u1 u2) u4} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearEquiv.{u2, u2, u1, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u2 u4, max (max u1 u2) u4} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearEquiv.{u2, u2, u1, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u2 u4} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u4, u4, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) κ κ _inst_10 _inst_10 (fun (a : κ) (b : κ) => _inst_11 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 c c) f))
 Case conversion may be inaccurate. Consider using '#align linear_map.det_to_matrix_eq_det_to_matrix LinearMap.det_toMatrix_eq_det_toMatrixₓ'. -/
 /-- The determinant of `linear_map.to_matrix` does not depend on the choice of basis. -/
 theorem det_toMatrix_eq_det_toMatrix [DecidableEq κ] (b : Basis ι A M) (c : Basis κ A M)
@@ -194,7 +194,7 @@ irreducible_def detAux : Trunc (Basis ι A M) → (M →ₗ[A] M) →* A :=
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Module.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (b : Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u3} A (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.detAux.{u1, u2, u3} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 (Trunc.mk.{max (succ u2) (succ u3) (succ u1)} (Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) b)) f) (Matrix.det.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (coeFn.{max (succ u1) (succ (max u2 u3)), max (succ u1) (succ (max u2 u3))} (LinearEquiv.{u3, u3, u1, max u2 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (fun (_x : LinearEquiv.{u3, u3, u1, max u2 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) => (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> (Matrix.{u2, u2, u3} ι ι A)) (LinearEquiv.hasCoeToFun.{u3, u3, u1, max u2 u3} A A (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))) (LinearMap.toMatrix.{u3, u2, u2, u1, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (b : Basis.{u3, u2, u1} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.detAux.{u1, u3, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 (Trunc.mk.{max (max (succ u2) (succ u3)) (succ u1)} (Basis.{u3, u2, u1} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) b)) f) (Matrix.det.{u2, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => Matrix.{u3, u3, u2} ι ι A) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (SMulZeroClass.toSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toZero.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toAddZeroClass.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u1 u3) u2} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u1 u3) u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u3, u3, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (b : Basis.{u3, u2, u1} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.detAux.{u1, u3, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 (Trunc.mk.{max (max (succ u2) (succ u3)) (succ u1)} (Basis.{u3, u2, u1} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) b)) f) (Matrix.det.{u2, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => Matrix.{u3, u3, u2} ι ι A) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (SMulZeroClass.toSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toZero.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toAddZeroClass.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u1 u3) u2} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u1 u3) u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u3, u3, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f))
 Case conversion may be inaccurate. Consider using '#align linear_map.det_aux_def LinearMap.detAux_def'ₓ'. -/
 /-- Unfold lemma for `det_aux`.
 
@@ -211,7 +211,7 @@ theorem detAux_def' (b : Basis ι A M) (f : M →ₗ[A] M) :
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Module.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι' : Type.{u4}} [_inst_11 : Fintype.{u4} ι'] [_inst_12 : DecidableEq.{succ u4} ι'] (tb : Trunc.{max (succ u2) (succ u3) (succ u1)} (Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (b' : Basis.{u4, u3, u1} ι' A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u3} A (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.detAux.{u1, u2, u3} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 tb) f) (Matrix.det.{u3, u4} ι' (fun (a : ι') (b : ι') => _inst_12 a b) _inst_11 A _inst_8 (coeFn.{max (succ u1) (succ (max u4 u3)), max (succ u1) (succ (max u4 u3))} (LinearEquiv.{u3, u3, u1, max u4 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u3} ι' ι' A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u4, u4, u3} ι' ι' A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (fun (_x : LinearEquiv.{u3, u3, u1, max u4 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u3} ι' ι' A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u4, u4, u3} ι' ι' A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) => (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> (Matrix.{u4, u4, u3} ι' ι' A)) (LinearEquiv.hasCoeToFun.{u3, u3, u1, max u4 u3} A A (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u3} ι' ι' A) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u4, u4, u3} ι' ι' A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))) (LinearMap.toMatrix.{u3, u4, u4, u1, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) ι' ι' _inst_11 _inst_11 (fun (a : ι') (b : ι') => _inst_12 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b' b') f))
 but is expected to have type
-  forall {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] {ι' : Type.{u4}} [_inst_11 : Fintype.{u4} ι'] [_inst_12 : DecidableEq.{succ u4} ι'] (tb : Trunc.{max (max (succ u3) (succ u2)) (succ u1)} (Basis.{u1, u2, u3} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (b' : Basis.{u4, u2, u3} ι' A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.detAux.{u3, u1, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 tb) f) (Matrix.det.{u2, u4} ι' (fun (a : ι') (b : ι') => _inst_12 a b) _inst_11 A _inst_8 (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u4), succ u3, max (succ u2) (succ u4)} (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => Matrix.{u4, u4, u2} ι' ι' A) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u4, u2, u3, max u2 u4} (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (SMulZeroClass.toSMul.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (AddMonoid.toZero.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (AddMonoid.toAddZeroClass.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u4, u2, u3, max u2 u4} (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u3, max u2 u4, max (max u3 u2) u4} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u3, max u2 u4, max (max u3 u2) u4} A A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u3, max u2 u4} A A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u4, u4, u3, u3} A (CommRing.toCommSemiring.{u2} A _inst_8) ι' ι' _inst_11 _inst_11 (fun (a : ι') (b : ι') => _inst_12 a b) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 b' b') f))
+  forall {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] {ι' : Type.{u4}} [_inst_11 : Fintype.{u4} ι'] [_inst_12 : DecidableEq.{succ u4} ι'] (tb : Trunc.{max (max (succ u3) (succ u2)) (succ u1)} (Basis.{u1, u2, u3} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (b' : Basis.{u4, u2, u3} ι' A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.detAux.{u3, u1, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 tb) f) (Matrix.det.{u2, u4} ι' (fun (a : ι') (b : ι') => _inst_12 a b) _inst_11 A _inst_8 (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u4), succ u3, max (succ u2) (succ u4)} (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => Matrix.{u4, u4, u2} ι' ι' A) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u4, u2, u3, max u2 u4} (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (SMulZeroClass.toSMul.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (AddMonoid.toZero.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (AddMonoid.toAddZeroClass.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u4, u2, u3, max u2 u4} (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u3, max u2 u4, max (max u3 u2) u4} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u3, max u2 u4, max (max u3 u2) u4} A A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u3, max u2 u4} A A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u4, u4, u3, u3} A (CommRing.toCommSemiring.{u2} A _inst_8) ι' ι' _inst_11 _inst_11 (fun (a : ι') (b : ι') => _inst_12 a b) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 b' b') f))
 Case conversion may be inaccurate. Consider using '#align linear_map.det_aux_def' LinearMap.detAux_def''ₓ'. -/
 theorem detAux_def'' {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (tb : Trunc <| Basis ι A M)
     (b' : Basis ι' A M) (f : M →ₗ[A] M) :
@@ -288,7 +288,7 @@ end
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] [_inst_11 : DecidableEq.{succ u1} M] {s : Finset.{u1} M} (b : Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} A (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f) (Matrix.det.{u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (fun (a : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (b : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) => Subtype.decidableEq.{u1} M (fun (x : M) => Membership.Mem.{u1, u1} M (Finset.{u1} M) (Finset.hasMem.{u1} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u1} M s) A _inst_8 (coeFn.{max (succ u1) (succ (max u1 u2)), max (succ u1) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u1, max u1 u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.toMatrix._proof_2.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.module.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u2, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u2, u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (fun (_x : LinearEquiv.{u2, u2, u1, max u1 u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.toMatrix._proof_2.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.module.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u2, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u2, u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) => (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A)) (LinearEquiv.hasCoeToFun.{u2, u2, u1, max u1 u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.module.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u2, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u2, u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.toMatrix._proof_2.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.toMatrix.{u2, u1, u1, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (Finset.Subtype.fintype.{u1} M s) (Finset.Subtype.fintype.{u1} M s) (fun (a : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (b : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) => Subtype.decidableEq.{u1} M (fun (x : M) => Membership.Mem.{u1, u1} M (Finset.{u1} M) (Finset.hasMem.{u1} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f))
 but is expected to have type
-  forall {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] [_inst_9 : Module.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_11 : DecidableEq.{succ u2} M] {s : Finset.{u2} M} (b : Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9) (f : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.det.{u2, u1} M _inst_2 A _inst_8 _inst_9) f) (Matrix.det.{u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u2} M s) A _inst_8 (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, u2, max u2 u1} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (SMulZeroClass.toSMul.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Module.toDistribMulAction.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, u2, max u2 u1} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, max u2 u1, max u2 u1} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, max u2 u1} A A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.toMatrix.{u1, u2, u2, u2, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Finset.Subtype.fintype.{u2} M s) (Finset.Subtype.fintype.{u2} M s) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 b b) f))
+  forall {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] [_inst_9 : Module.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_11 : DecidableEq.{succ u2} M] {s : Finset.{u2} M} (b : Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9) (f : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.det.{u2, u1} M _inst_2 A _inst_8 _inst_9) f) (Matrix.det.{u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u2} M s) A _inst_8 (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, u2, max u2 u1} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (SMulZeroClass.toSMul.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Module.toDistribMulAction.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, u2, max u2 u1} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, max u2 u1, max u2 u1} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, max u2 u1} A A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.toMatrix.{u1, u2, u2, u2, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Finset.Subtype.fintype.{u2} M s) (Finset.Subtype.fintype.{u2} M s) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 b b) f))
 Case conversion may be inaccurate. Consider using '#align linear_map.det_eq_det_to_matrix_of_finset LinearMap.det_eq_det_toMatrix_of_finsetₓ'. -/
 -- Auxiliary lemma, the `simp` normal form goes in the other direction
 -- (using `linear_map.det_to_matrix`)
@@ -303,7 +303,7 @@ theorem det_eq_det_toMatrix_of_finset [DecidableEq M] {s : Finset M} (b : Basis
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Module.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (b : Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u3} A (Matrix.det.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (coeFn.{max (succ u1) (succ (max u2 u3)), max (succ u1) (succ (max u2 u3))} (LinearEquiv.{u3, u3, u1, max u2 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (fun (_x : LinearEquiv.{u3, u3, u1, max u2 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) => (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> (Matrix.{u2, u2, u3} ι ι A)) (LinearEquiv.hasCoeToFun.{u3, u3, u1, max u2 u3} A A (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))) (LinearMap.toMatrix.{u3, u2, u2, u1, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f)) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.det.{u1, u3} M _inst_2 A _inst_8 _inst_9) f)
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (b : Basis.{u3, u2, u1} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} A (Matrix.det.{u2, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => Matrix.{u3, u3, u2} ι ι A) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (SMulZeroClass.toSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toZero.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toAddZeroClass.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u1 u3) u2} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u1 u3) u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u3, u3, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f)
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (b : Basis.{u3, u2, u1} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} A (Matrix.det.{u2, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => Matrix.{u3, u3, u2} ι ι A) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (SMulZeroClass.toSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toZero.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toAddZeroClass.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u1 u3) u2} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u1 u3) u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u3, u3, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f)
 Case conversion may be inaccurate. Consider using '#align linear_map.det_to_matrix LinearMap.det_toMatrixₓ'. -/
 @[simp]
 theorem det_toMatrix (b : Basis ι A M) (f : M →ₗ[A] M) : Matrix.det (toMatrix b b f) = f.det :=
@@ -316,7 +316,7 @@ theorem det_toMatrix (b : Basis ι A M) (f : M →ₗ[A] M) : Matrix.det (toMatr
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {ι : Type.{u2}} [_inst_11 : Fintype.{u2} ι] [_inst_12 : DecidableEq.{succ u2} ι] (f : LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))), Eq.{succ u1} A (Matrix.det.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_12 a b) _inst_11 A _inst_8 (coeFn.{succ (max u2 u1), succ (max u2 u1)} (LinearEquiv.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_1.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.toMatrix'._proof_2.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_3.{u1, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι)) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (_x : LinearEquiv.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_1.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.toMatrix'._proof_2.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_3.{u1, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι)) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) -> (Matrix.{u2, u2, u1} ι ι A)) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_3.{u1, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι)) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_1.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.toMatrix'._proof_2.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.toMatrix'.{u1, u2, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι ι _inst_11 (fun (a : ι) (b : ι) => _inst_12 a b)) f)) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ (max u2 u1)) (succ u1)} (MonoidHom.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u2 u1} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (fun (_x : MonoidHom.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u2 u1} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) => (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) -> A) (MonoidHom.hasCoeToFun.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u2 u1} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.det.{max u2 u1, u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A _inst_8 (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) f)
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {ι : Type.{u2}} [_inst_11 : Fintype.{u2} ι] [_inst_12 : DecidableEq.{succ u2} ι] (f : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))), Eq.{succ u1} A (Matrix.det.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_12 a b) _inst_11 A _inst_8 (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (_x : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => Matrix.{u2, u2, u1} ι ι A) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (SMulZeroClass.toSMul.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddMonoid.toZero.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddMonoid.toAddZeroClass.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Module.toDistribMulAction.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, max u2 u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.toMatrix'.{u1, u2, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι ι _inst_11 (fun (a : ι) (b : ι) => _inst_12 a b)) f)) (FunLike.coe.{max (succ u1) (succ (max u1 u2)), succ (max u1 u2), succ u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (_x : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => A) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulOneClass.toMul.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.det.{max u1 u2, u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) A _inst_8 (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) f)
+  forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {ι : Type.{u2}} [_inst_11 : Fintype.{u2} ι] [_inst_12 : DecidableEq.{succ u2} ι] (f : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))), Eq.{succ u1} A (Matrix.det.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_12 a b) _inst_11 A _inst_8 (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (_x : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => Matrix.{u2, u2, u1} ι ι A) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (SMulZeroClass.toSMul.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddMonoid.toZero.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddMonoid.toAddZeroClass.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Module.toDistribMulAction.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, max u2 u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.toMatrix'.{u1, u2, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι ι _inst_11 (fun (a : ι) (b : ι) => _inst_12 a b)) f)) (FunLike.coe.{max (succ u1) (succ (max u1 u2)), succ (max u1 u2), succ u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (_x : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => A) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulOneClass.toMul.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.det.{max u1 u2, u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) A _inst_8 (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) f)
 Case conversion may be inaccurate. Consider using '#align linear_map.det_to_matrix' LinearMap.det_toMatrix'ₓ'. -/
 @[simp]
 theorem det_toMatrix' {ι : Type _} [Fintype ι] [DecidableEq ι] (f : (ι → A) →ₗ[A] ι → A) :
@@ -327,7 +327,7 @@ theorem det_toMatrix' {ι : Type _} [Fintype ι] [DecidableEq ι] (f : (ι → A
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (b : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (f : Matrix.{u3, u3, u1} ι ι R), Eq.{succ u1} R (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (LinearEquiv.{u1, u1, max u3 u1, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.toLin._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.{u3, u3, u1} ι ι R) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u1, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u3, u3, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.module.{u1, u1, u1, u2, u2} R R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (Matrix.toLin._proof_3.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) (fun (_x : LinearEquiv.{u1, u1, max u3 u1, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.toLin._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.{u3, u3, u1} ι ι R) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u1, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u3, u3, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.module.{u1, u1, u1, u2, u2} R R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (Matrix.toLin._proof_3.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) => (Matrix.{u3, u3, u1} ι ι R) -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3)) (LinearEquiv.hasCoeToFun.{u1, u1, max u3 u1, u2} R R (Matrix.{u3, u3, u1} ι ι R) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u3, u3, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.module.{u1, u1, u1, u2, u2} R R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (Matrix.toLin._proof_3.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.toLin._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.toLin.{u1, u3, u3, u2, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 b b) f)) (Matrix.det.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 f)
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (b : Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (f : Matrix.{u3, u3, u2} ι ι R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), succ u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (Matrix.{u3, u3, u2} ι ι R) (fun (a : Matrix.{u3, u3, u2} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u2} ι ι R) => LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) a) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (SMulZeroClass.toSMul.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (AddMonoid.toZero.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (SMulZeroClass.toSMul.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u1) u3} R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u2 u3, u1, max (max u2 u1) u3} R R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u2 u3, u1} R R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (Matrix.toLin.{u2, u3, u3, u1, u1} R (CommRing.toCommSemiring.{u2} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 b b) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), succ u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (Matrix.{u3, u3, u2} ι ι R) (fun (_x : Matrix.{u3, u3, u2} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u2} ι ι R) => LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (SMulZeroClass.toSMul.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (AddMonoid.toZero.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (SMulZeroClass.toSMul.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u1) u3} R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u2 u3, u1, max (max u2 u1) u3} R R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u2 u3, u1} R R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (Matrix.toLin.{u2, u3, u3, u1, u1} R (CommRing.toCommSemiring.{u2} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 b b) f)) (Matrix.det.{u2, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 f)
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (b : Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (f : Matrix.{u3, u3, u2} ι ι R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), succ u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (Matrix.{u3, u3, u2} ι ι R) (fun (a : Matrix.{u3, u3, u2} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u3, u3, u2} ι ι R) => LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) a) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (SMulZeroClass.toSMul.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (AddMonoid.toZero.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (SMulZeroClass.toSMul.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u1) u3} R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u2 u3, u1, max (max u2 u1) u3} R R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u2 u3, u1} R R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (Matrix.toLin.{u2, u3, u3, u1, u1} R (CommRing.toCommSemiring.{u2} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 b b) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), succ u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (Matrix.{u3, u3, u2} ι ι R) (fun (_x : Matrix.{u3, u3, u2} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u3, u3, u2} ι ι R) => LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (SMulZeroClass.toSMul.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (AddMonoid.toZero.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (SMulZeroClass.toSMul.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u1) u3} R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u2 u3, u1, max (max u2 u1) u3} R R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u2 u3, u1} R R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (Matrix.toLin.{u2, u3, u3, u1, u1} R (CommRing.toCommSemiring.{u2} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 b b) f)) (Matrix.det.{u2, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 f)
 Case conversion may be inaccurate. Consider using '#align linear_map.det_to_lin LinearMap.det_toLinₓ'. -/
 @[simp]
 theorem det_toLin (b : Basis ι R M) (f : Matrix ι ι R) :
@@ -339,7 +339,7 @@ theorem det_toLin (b : Basis ι R M) (f : Matrix ι ι R) :
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] (f : Matrix.{u2, u2, u1} ι ι R), Eq.{succ u1} R (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ (max u2 u1)) (succ u1)} (MonoidHom.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u2 u1} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u2 u1} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) -> R) (MonoidHom.hasCoeToFun.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u2 u1} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{max u2 u1, u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) R _inst_1 (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (coeFn.{succ (max u2 u1), succ (max u2 u1)} (LinearEquiv.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.toLin'._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_3.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι))) (fun (_x : LinearEquiv.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.toLin'._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_3.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι))) => (Matrix.{u2, u2, u1} ι ι R) -> (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_3.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.toLin'._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.toLin'.{u1, u2, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b)) f)) (Matrix.det.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 f)
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] (f : Matrix.{u2, u2, u1} ι ι R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => R) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (Matrix.{u2, u2, u1} ι ι R) (fun (a : Matrix.{u2, u2, u1} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u2, u2, u1} ι ι R) => LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) a) (SMulHomClass.toFunLike.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toZero.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toAddZeroClass.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, max u2 u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (Matrix.toLin'.{u1, u2, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b)) f)) (FunLike.coe.{max (succ u1) (succ (max u1 u2)), succ (max u1 u2), succ u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (_x : LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulOneClass.toMul.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulOneClass.toMul.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (LinearMap.det.{max u1 u2, u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1))) R _inst_1 (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (Matrix.{u2, u2, u1} ι ι R) (fun (_x : Matrix.{u2, u2, u1} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u2, u2, u1} ι ι R) => LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toZero.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toAddZeroClass.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, max u2 u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (Matrix.toLin'.{u1, u2, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b)) f)) (Matrix.det.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 f)
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] (f : Matrix.{u2, u2, u1} ι ι R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => R) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (Matrix.{u2, u2, u1} ι ι R) (fun (a : Matrix.{u2, u2, u1} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u2, u2, u1} ι ι R) => LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) a) (SMulHomClass.toFunLike.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toZero.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toAddZeroClass.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, max u2 u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (Matrix.toLin'.{u1, u2, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b)) f)) (FunLike.coe.{max (succ u1) (succ (max u1 u2)), succ (max u1 u2), succ u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (_x : LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulOneClass.toMul.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulOneClass.toMul.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (LinearMap.det.{max u1 u2, u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1))) R _inst_1 (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (Matrix.{u2, u2, u1} ι ι R) (fun (_x : Matrix.{u2, u2, u1} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u2, u2, u1} ι ι R) => LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toZero.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toAddZeroClass.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, max u2 u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (Matrix.toLin'.{u1, u2, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b)) f)) (Matrix.det.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 f)
 Case conversion may be inaccurate. Consider using '#align linear_map.det_to_lin' LinearMap.det_toLin'ₓ'. -/
 @[simp]
 theorem det_toLin' (f : Matrix ι ι R) : LinearMap.det f.toLin' = f.det := by
@@ -350,7 +350,7 @@ theorem det_toLin' (f : Matrix ι ι R) : LinearMap.det f.toLin' = f.det := by
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] [_inst_11 : DecidableEq.{succ u1} M] {P : A -> Prop} (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), (forall (s : Finset.{u1} M) (b : Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9), P (Matrix.det.{u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (fun (a : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (b : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) => Subtype.decidableEq.{u1} M (fun (x : M) => Membership.Mem.{u1, u1} M (Finset.{u1} M) (Finset.hasMem.{u1} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u1} M s) A _inst_8 (coeFn.{max (succ u1) (succ (max u1 u2)), max (succ u1) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u1, max u1 u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.toMatrix._proof_2.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.module.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u2, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u2, u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (fun (_x : LinearEquiv.{u2, u2, u1, max u1 u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.toMatrix._proof_2.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.module.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u2, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u2, u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) => (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A)) (LinearEquiv.hasCoeToFun.{u2, u2, u1, max u1 u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.module.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u2, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u2, u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.toMatrix._proof_2.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.toMatrix.{u2, u1, u1, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (Finset.Subtype.fintype.{u1} M s) (Finset.Subtype.fintype.{u1} M s) (fun (a : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (b : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) => Subtype.decidableEq.{u1} M (fun (x : M) => Membership.Mem.{u1, u1} M (Finset.{u1} M) (Finset.hasMem.{u1} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f))) -> (P (OfNat.ofNat.{u2} A 1 (OfNat.mk.{u2} A 1 (One.one.{u2} A (AddMonoidWithOne.toOne.{u2} A (AddGroupWithOne.toAddMonoidWithOne.{u2} A (AddCommGroupWithOne.toAddGroupWithOne.{u2} A (Ring.toAddCommGroupWithOne.{u2} A (CommRing.toRing.{u2} A _inst_8))))))))) -> (P (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f))
 but is expected to have type
-  forall {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] [_inst_9 : Module.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_11 : DecidableEq.{succ u2} M] {P : A -> Prop} (f : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9), (forall (s : Finset.{u2} M) (b : Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9), P (Matrix.det.{u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u2} M s) A _inst_8 (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, u2, max u2 u1} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (SMulZeroClass.toSMul.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Module.toDistribMulAction.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, u2, max u2 u1} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, max u2 u1, max u2 u1} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, max u2 u1} A A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.toMatrix.{u1, u2, u2, u2, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Finset.Subtype.fintype.{u2} M s) (Finset.Subtype.fintype.{u2} M s) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 b b) f))) -> (P (OfNat.ofNat.{u1} A 1 (One.toOfNat1.{u1} A (Semiring.toOne.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) -> (P (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.det.{u2, u1} M _inst_2 A _inst_8 _inst_9) f))
+  forall {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] [_inst_9 : Module.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_11 : DecidableEq.{succ u2} M] {P : A -> Prop} (f : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9), (forall (s : Finset.{u2} M) (b : Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9), P (Matrix.det.{u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u2} M s) A _inst_8 (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, u2, max u2 u1} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (SMulZeroClass.toSMul.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Module.toDistribMulAction.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, u2, max u2 u1} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, max u2 u1, max u2 u1} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, max u2 u1} A A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.toMatrix.{u1, u2, u2, u2, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Finset.Subtype.fintype.{u2} M s) (Finset.Subtype.fintype.{u2} M s) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 b b) f))) -> (P (OfNat.ofNat.{u1} A 1 (One.toOfNat1.{u1} A (Semiring.toOne.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) -> (P (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.det.{u2, u1} M _inst_2 A _inst_8 _inst_9) f))
 Case conversion may be inaccurate. Consider using '#align linear_map.det_cases LinearMap.det_casesₓ'. -/
 /-- To show `P f.det` it suffices to consider `P (to_matrix _ _ f).det` and `P 1`. -/
 @[elab_as_elim]
@@ -677,7 +677,7 @@ theorem LinearEquiv.det_symm_mul_det {A : Type _} [CommRing A] [Module A M] (f :
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] {ι : Type.{u4}} [_inst_6 : DecidableEq.{succ u4} ι] [_inst_7 : Fintype.{u4} ι] (f : LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (v : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (v' : Basis.{u4, u1, u3} ι R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5), IsUnit.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Matrix.det.{u1, u4} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (coeFn.{max (succ (max u2 u3)) (succ (max u4 u1)), max (succ (max u2 u3)) (succ (max u4 u1))} (LinearEquiv.{u1, u1, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.toMatrix._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.toMatrix._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearMap.toMatrix._proof_3.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (_x : LinearEquiv.{u1, u1, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.toMatrix._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.toMatrix._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearMap.toMatrix._proof_3.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) -> (Matrix.{u4, u4, u1} ι ι R)) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u3, max u4 u1} R R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearMap.toMatrix._proof_3.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.toMatrix._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.toMatrix._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.toMatrix.{u1, u4, u4, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 v v') ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (coeBase.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u2, u3} R R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) f)))
 but is expected to have type
-  forall {R : Type.{u4}} [_inst_1 : CommRing.{u4} R] {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] {M' : Type.{u2}} [_inst_4 : AddCommGroup.{u2} M'] [_inst_5 : Module.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] (f : LinearEquiv.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (v : Basis.{u1, u4, u3} ι R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (v' : Basis.{u1, u4, u2} ι R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5), IsUnit.{u4} R (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (Matrix.det.{u4, u1} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), max (succ u3) (succ u2), max (succ u4) (succ u1)} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) => Matrix.{u1, u1, u4} ι ι R) _x) (SMulHomClass.toFunLike.{max (max (max u4 u3) u2) u1, u4, max u3 u2, max u4 u1} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (SMulZeroClass.toSMul.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toZero.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toAddZeroClass.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Module.toDistribMulAction.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))))))) (SMulZeroClass.toSMul.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (AddMonoid.toZero.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (AddMonoid.toAddZeroClass.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u4 u3) u2) u1, u4, max u3 u2, max u4 u1} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5))))) (Module.toDistribMulAction.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u4, max u3 u2, max u4 u1, max (max (max u4 u3) u2) u1} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, max u3 u2, max u4 u1, max (max (max u4 u3) u2) u1} R R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, max u3 u2, max u4 u1} R R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (LinearMap.toMatrix.{u4, u1, u1, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 v v') (LinearEquiv.toLinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 f)))
+  forall {R : Type.{u4}} [_inst_1 : CommRing.{u4} R] {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] {M' : Type.{u2}} [_inst_4 : AddCommGroup.{u2} M'] [_inst_5 : Module.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] (f : LinearEquiv.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (v : Basis.{u1, u4, u3} ι R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (v' : Basis.{u1, u4, u2} ι R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5), IsUnit.{u4} R (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (Matrix.det.{u4, u1} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), max (succ u3) (succ u2), max (succ u4) (succ u1)} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) => Matrix.{u1, u1, u4} ι ι R) _x) (SMulHomClass.toFunLike.{max (max (max u4 u3) u2) u1, u4, max u3 u2, max u4 u1} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (SMulZeroClass.toSMul.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toZero.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toAddZeroClass.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Module.toDistribMulAction.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))))))) (SMulZeroClass.toSMul.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (AddMonoid.toZero.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (AddMonoid.toAddZeroClass.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u4 u3) u2) u1, u4, max u3 u2, max u4 u1} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5))))) (Module.toDistribMulAction.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u4, max u3 u2, max u4 u1, max (max (max u4 u3) u2) u1} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, max u3 u2, max u4 u1, max (max (max u4 u3) u2) u1} R R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, max u3 u2, max u4 u1} R R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (LinearMap.toMatrix.{u4, u1, u1, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 v v') (LinearEquiv.toLinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 f)))
 Case conversion may be inaccurate. Consider using '#align linear_equiv.is_unit_det LinearEquiv.isUnit_detₓ'. -/
 -- Cannot be stated using `linear_map.det` because `f` is not an endomorphism.
 theorem LinearEquiv.isUnit_det (f : M ≃ₗ[R] M') (v : Basis ι R M) (v' : Basis ι R M') :
@@ -715,7 +715,7 @@ theorem LinearEquiv.det_coe_symm {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] (f
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] {ι : Type.{u4}} [_inst_6 : DecidableEq.{succ u4} ι] [_inst_7 : Fintype.{u4} ι] {f : LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5} {v : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {v' : Basis.{u4, u1, u3} ι R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5}, (IsUnit.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Matrix.det.{u1, u4} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (coeFn.{max (succ (max u2 u3)) (succ (max u4 u1)), max (succ (max u2 u3)) (succ (max u4 u1))} (LinearEquiv.{u1, u1, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_1.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_2.{u1} R _inst_1) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearEquiv.ofIsUnitDet._proof_3.{u1, u3} R _inst_1 M' _inst_4 _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (_x : LinearEquiv.{u1, u1, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_1.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_2.{u1} R _inst_1) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearEquiv.ofIsUnitDet._proof_3.{u1, u3} R _inst_1 M' _inst_4 _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) -> (Matrix.{u4, u4, u1} ι ι R)) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u3, max u4 u1} R R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearEquiv.ofIsUnitDet._proof_3.{u1, u3} R _inst_1 M' _inst_4 _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_4.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_5.{u1} R _inst_1)) (LinearMap.toMatrix.{u1, u4, u4, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 v v') f))) -> (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_6.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_7.{u1} R _inst_1) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5)
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] {ι : Type.{u4}} [_inst_6 : DecidableEq.{succ u4} ι] [_inst_7 : Fintype.{u4} ι] {f : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5} {v : Basis.{u4, u1, u2} ι R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {v' : Basis.{u4, u1, u3} ι R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5}, (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.det.{u1, u4} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (FunLike.coe.{max (max (max (succ u1) (succ u2)) (succ u3)) (succ u4), max (succ u2) (succ u3), max (succ u1) (succ u4)} (LinearEquiv.{u1, u1, max u3 u2, max u1 u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) => Matrix.{u4, u4, u1} ι ι R) _x) (SMulHomClass.toFunLike.{max (max (max u1 u2) u3) u4, u1, max u2 u3, max u1 u4} (LinearEquiv.{u1, u1, max u3 u2, max u1 u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (SMulZeroClass.toSMul.{u1, max u2 u3} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toZero.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toAddZeroClass.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u3} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))))))) (SMulZeroClass.toSMul.{u1, max u1 u4} R (Matrix.{u4, u4, u1} ι ι R) (AddMonoid.toZero.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max u1 u4} R (Matrix.{u4, u4, u1} ι ι R) (AddMonoid.toAddZeroClass.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max u1 u4} R (Matrix.{u4, u4, u1} ι ι R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u1 u4} R (Matrix.{u4, u4, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u1 u2) u3) u4, u1, max u2 u3, max u1 u4} (LinearEquiv.{u1, u1, max u3 u2, max u1 u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u2 u3} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5))))) (Module.toDistribMulAction.{u1, max u1 u4} R (Matrix.{u4, u4, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u3, max u1 u4, max (max (max u1 u2) u3) u4} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearEquiv.{u1, u1, max u3 u2, max u1 u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u3, max u1 u4, max (max (max u1 u2) u3) u4} R R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearEquiv.{u1, u1, max u3 u2, max u1 u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u3, max u1 u4} R R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (LinearMap.toMatrix.{u1, u4, u4, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 v v') f))) -> (LinearEquiv.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5)
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] {ι : Type.{u4}} [_inst_6 : DecidableEq.{succ u4} ι] [_inst_7 : Fintype.{u4} ι] {f : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5} {v : Basis.{u4, u1, u2} ι R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {v' : Basis.{u4, u1, u3} ι R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5}, (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.det.{u1, u4} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (FunLike.coe.{max (max (max (succ u1) (succ u2)) (succ u3)) (succ u4), max (succ u2) (succ u3), max (succ u1) (succ u4)} (LinearEquiv.{u1, u1, max u3 u2, max u1 u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) => Matrix.{u4, u4, u1} ι ι R) _x) (SMulHomClass.toFunLike.{max (max (max u1 u2) u3) u4, u1, max u2 u3, max u1 u4} (LinearEquiv.{u1, u1, max u3 u2, max u1 u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (SMulZeroClass.toSMul.{u1, max u2 u3} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toZero.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toAddZeroClass.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u3} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))))))) (SMulZeroClass.toSMul.{u1, max u1 u4} R (Matrix.{u4, u4, u1} ι ι R) (AddMonoid.toZero.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max u1 u4} R (Matrix.{u4, u4, u1} ι ι R) (AddMonoid.toAddZeroClass.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max u1 u4} R (Matrix.{u4, u4, u1} ι ι R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u1 u4} R (Matrix.{u4, u4, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u1 u2) u3) u4, u1, max u2 u3, max u1 u4} (LinearEquiv.{u1, u1, max u3 u2, max u1 u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u2 u3} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5))))) (Module.toDistribMulAction.{u1, max u1 u4} R (Matrix.{u4, u4, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u3, max u1 u4, max (max (max u1 u2) u3) u4} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearEquiv.{u1, u1, max u3 u2, max u1 u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u3, max u1 u4, max (max (max u1 u2) u3) u4} R R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearEquiv.{u1, u1, max u3 u2, max u1 u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u3, max u1 u4} R R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (LinearMap.toMatrix.{u1, u4, u4, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 v v') f))) -> (LinearEquiv.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5)
 Case conversion may be inaccurate. Consider using '#align linear_equiv.of_is_unit_det LinearEquiv.ofIsUnitDetₓ'. -/
 /-- Builds a linear equivalence from a linear map whose determinant in some bases is a unit. -/
 @[simps]
@@ -745,7 +745,7 @@ def LinearEquiv.ofIsUnitDet {f : M →ₗ[R] M'} {v : Basis ι R M} {v' : Basis
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] {ι : Type.{u4}} [_inst_6 : DecidableEq.{succ u4} ι] [_inst_7 : Fintype.{u4} ι] {f : LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5} {v : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {v' : Basis.{u4, u1, u3} ι R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5} (h : IsUnit.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Matrix.det.{u1, u4} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (coeFn.{max (succ (max u2 u3)) (succ (max u4 u1)), max (succ (max u2 u3)) (succ (max u4 u1))} (LinearEquiv.{u1, u1, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.toMatrix._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.toMatrix._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearMap.toMatrix._proof_3.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (_x : LinearEquiv.{u1, u1, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.toMatrix._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.toMatrix._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearMap.toMatrix._proof_3.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) -> (Matrix.{u4, u4, u1} ι ι R)) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u3, max u4 u1} R R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearMap.toMatrix._proof_3.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.toMatrix._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.toMatrix._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.toMatrix.{u1, u4, u4, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 v v') f))), Eq.{max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_6.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_7.{u1} R _inst_1) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_6.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_7.{u1} R _inst_1) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_6.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_7.{u1} R _inst_1) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (coeBase.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_6.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_7.{u1} R _inst_1) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u2, u3} R R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_6.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_7.{u1} R _inst_1))))) (LinearEquiv.ofIsUnitDet.{u1, u2, u3, u4} R _inst_1 M _inst_2 _inst_3 M' _inst_4 _inst_5 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 f v v' h)) f
 but is expected to have type
-  forall {R : Type.{u4}} [_inst_1 : CommRing.{u4} R] {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] {M' : Type.{u2}} [_inst_4 : AddCommGroup.{u2} M'] [_inst_5 : Module.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] {f : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5} {v : Basis.{u1, u4, u3} ι R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3} {v' : Basis.{u1, u4, u2} ι R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5} (h : IsUnit.{u4} R (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (Matrix.det.{u4, u1} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), max (succ u3) (succ u2), max (succ u4) (succ u1)} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) => Matrix.{u1, u1, u4} ι ι R) _x) (SMulHomClass.toFunLike.{max (max (max u4 u3) u2) u1, u4, max u3 u2, max u4 u1} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (SMulZeroClass.toSMul.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toZero.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toAddZeroClass.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Module.toDistribMulAction.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))))))) (SMulZeroClass.toSMul.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (AddMonoid.toZero.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (AddMonoid.toAddZeroClass.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u4 u3) u2) u1, u4, max u3 u2, max u4 u1} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5))))) (Module.toDistribMulAction.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u4, max u3 u2, max u4 u1, max (max (max u4 u3) u2) u1} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, max u3 u2, max u4 u1, max (max (max u4 u3) u2) u1} R R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, max u3 u2, max u4 u1} R R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (LinearMap.toMatrix.{u4, u1, u1, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 v v') f))), Eq.{max (succ u3) (succ u2)} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearEquiv.toLinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (LinearEquiv.ofIsUnitDet.{u4, u3, u2, u1} R _inst_1 M _inst_2 _inst_3 M' _inst_4 _inst_5 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 f v v' h)) f
+  forall {R : Type.{u4}} [_inst_1 : CommRing.{u4} R] {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] {M' : Type.{u2}} [_inst_4 : AddCommGroup.{u2} M'] [_inst_5 : Module.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] {f : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5} {v : Basis.{u1, u4, u3} ι R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3} {v' : Basis.{u1, u4, u2} ι R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5} (h : IsUnit.{u4} R (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (Matrix.det.{u4, u1} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), max (succ u3) (succ u2), max (succ u4) (succ u1)} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) => Matrix.{u1, u1, u4} ι ι R) _x) (SMulHomClass.toFunLike.{max (max (max u4 u3) u2) u1, u4, max u3 u2, max u4 u1} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (SMulZeroClass.toSMul.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toZero.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toAddZeroClass.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Module.toDistribMulAction.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))))))) (SMulZeroClass.toSMul.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (AddMonoid.toZero.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (AddMonoid.toAddZeroClass.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u4 u3) u2) u1, u4, max u3 u2, max u4 u1} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5))))) (Module.toDistribMulAction.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u4, max u3 u2, max u4 u1, max (max (max u4 u3) u2) u1} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, max u3 u2, max u4 u1, max (max (max u4 u3) u2) u1} R R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, max u3 u2, max u4 u1} R R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (LinearMap.toMatrix.{u4, u1, u1, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 v v') f))), Eq.{max (succ u3) (succ u2)} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearEquiv.toLinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (LinearEquiv.ofIsUnitDet.{u4, u3, u2, u1} R _inst_1 M _inst_2 _inst_3 M' _inst_4 _inst_5 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 f v v' h)) f
 Case conversion may be inaccurate. Consider using '#align linear_equiv.coe_of_is_unit_det LinearEquiv.coe_ofIsUnitDetₓ'. -/
 @[simp]
 theorem LinearEquiv.coe_ofIsUnitDet {f : M →ₗ[R] M'} {v : Basis ι R M} {v' : Basis ι R M'}
@@ -778,7 +778,7 @@ def LinearMap.equivOfDetNeZero {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCom
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (e : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (f : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (f' : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3), (forall (x : M), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f x) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f' (coeFn.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => M -> M) (LinearEquiv.hasCoeToFun.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) e x))) -> (Associated.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) f) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) f'))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (e : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (f : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (f' : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3), (forall (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) x) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f x) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f' (FunLike.coe.{succ u1, succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => M) _x) (SMulHomClass.toFunLike.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R M M (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (Module.toDistribMulAction.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (Module.toDistribMulAction.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R M M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (Module.toDistribMulAction.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Module.toDistribMulAction.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, u1, u1} R M M (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, u1, u1} R R M M (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) e x))) -> (Associated.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) _inst_1)))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) f'))
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (e : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (f : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (f' : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3), (forall (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) x) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f x) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f' (FunLike.coe.{succ u1, succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : M) => M) _x) (SMulHomClass.toFunLike.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R M M (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (Module.toDistribMulAction.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (Module.toDistribMulAction.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R M M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (Module.toDistribMulAction.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Module.toDistribMulAction.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, u1, u1} R M M (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, u1, u1} R R M M (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) e x))) -> (Associated.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) _inst_1)))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) f'))
 Case conversion may be inaccurate. Consider using '#align linear_map.associated_det_of_eq_comp LinearMap.associated_det_of_eq_compₓ'. -/
 theorem LinearMap.associated_det_of_eq_comp (e : M ≃ₗ[R] M) (f f' : M →ₗ[R] M)
     (h : ∀ x, f x = f' (e x)) : Associated f.det f'.det :=
@@ -958,7 +958,7 @@ variable {A : Type _} [CommRing A] [Module A M]
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Module.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (e : Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (v : ι -> M), Eq.{succ u3} A (coeFn.{max (succ u1) (succ u3) (succ u2), max (max (succ u2) (succ u1)) (succ u3)} (AlternatingMap.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) (fun (_x : AlternatingMap.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) => (ι -> M) -> A) (AlternatingMap.coeFun.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) (Basis.det.{u3, u1, u2} A _inst_8 M _inst_2 _inst_9 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (Function.comp.{succ u2, succ u1, succ u1} ι M M (coeFn.{succ u1, succ u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => M -> M) (LinearMap.hasCoeToFun.{u3, u3, u1, u1} A A M M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))))) f) v)) (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (Ring.toDistrib.{u3} A (CommRing.toRing.{u3} A _inst_8)))) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.det.{u1, u3} M _inst_2 A _inst_8 _inst_9) f) (coeFn.{max (succ u1) (succ u3) (succ u2), max (max (succ u2) (succ u1)) (succ u3)} (AlternatingMap.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) (fun (_x : AlternatingMap.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) => (ι -> M) -> A) (AlternatingMap.coeFun.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) (Basis.det.{u3, u1, u2} A _inst_8 M _inst_2 _inst_9 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (e : Basis.{u3, u2, u1} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (v : ι -> M), Eq.{succ u2} A (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) ι) (ι -> M) (fun (_x : ι -> M) => A) (AlternatingMap.funLike.{u2, u1, u2, u3} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) ι) (Basis.det.{u2, u1, u3} A _inst_8 M _inst_2 _inst_9 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (Function.comp.{succ u3, succ u1, succ u1} ι M M (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) f) v)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) A ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) ι) (ι -> M) (fun (_x : ι -> M) => A) (AlternatingMap.funLike.{u2, u1, u2, u3} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) ι) (Basis.det.{u2, u1, u3} A _inst_8 M _inst_2 _inst_9 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (e : Basis.{u3, u2, u1} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (v : ι -> M), Eq.{succ u2} A (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) ι) (ι -> M) (fun (_x : ι -> M) => A) (AlternatingMap.funLike.{u2, u1, u2, u3} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) ι) (Basis.det.{u2, u1, u3} A _inst_8 M _inst_2 _inst_9 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (Function.comp.{succ u3, succ u1, succ u1} ι M M (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) f) v)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) A ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) ι) (ι -> M) (fun (_x : ι -> M) => A) (AlternatingMap.funLike.{u2, u1, u2, u3} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) ι) (Basis.det.{u2, u1, u3} A _inst_8 M _inst_2 _inst_9 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v))
 Case conversion may be inaccurate. Consider using '#align basis.det_comp Basis.det_compₓ'. -/
 @[simp]
 theorem Basis.det_comp (e : Basis ι A M) (f : M →ₗ[A] M) (v : ι → M) :
@@ -972,7 +972,7 @@ theorem Basis.det_comp (e : Basis ι A M) (f : M →ₗ[A] M) (v : ι → M) :
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {M' : Type.{u2}} [_inst_4 : AddCommGroup.{u2} M'] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u4}} [_inst_8 : CommRing.{u4} A] [_inst_9 : Module.{u4, u1} A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] [_inst_10 : Module.{u4, u2} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4)] (b : Basis.{u3, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (b' : Basis.{u3, u4, u2} ι A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10) (f : LinearMap.{u4, u4, u1, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_9 _inst_10), Eq.{succ u4} A (coeFn.{max (succ u2) (succ u4) (succ u3), max (max (succ u3) (succ u2)) (succ u4)} (AlternatingMap.{u4, u2, u4, u3} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 A (AddCommGroup.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toAddCommGroup.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) ι) (fun (_x : AlternatingMap.{u4, u2, u4, u3} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 A (AddCommGroup.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toAddCommGroup.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) ι) => (ι -> M') -> A) (AlternatingMap.coeFun.{u4, u2, u4, u3} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 A (AddCommGroup.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toAddCommGroup.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) ι) (Basis.det.{u4, u2, u3} A _inst_8 M' _inst_4 _inst_10 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b') (Function.comp.{succ u3, succ u1, succ u2} ι M M' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u4, u4, u1, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_9 _inst_10) (fun (_x : LinearMap.{u4, u4, u1, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_9 _inst_10) => M -> M') (LinearMap.hasCoeToFun.{u4, u4, u1, u2} A A M M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_9 _inst_10 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))))) f) (coeFn.{max (succ u3) (succ u4) (succ u1), max (succ u3) (succ u1)} (Basis.{u3, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (fun (_x : Basis.{u3, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) => ι -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u4) (succ u1), succ u3, succ u1} (Basis.{u3, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) ι (fun (_x : ι) => M) (Basis.funLike.{u3, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) b))) (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Module.End.ring.{u4, u2} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) _inst_4 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))))) (fun (_x : MonoidHom.{u2, u4} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Module.End.ring.{u4, u2} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) _inst_4 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))))) => (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) -> A) (MonoidHom.hasCoeToFun.{u2, u4} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Module.End.ring.{u4, u2} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) _inst_4 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))))) (LinearMap.det.{u2, u4} M' _inst_4 A _inst_8 _inst_10) (LinearMap.comp.{u4, u4, u4, u2, u1, u2} A A A M' M M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_9 _inst_10 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomCompTriple.ids.{u4, u4} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))))) f ((fun (a : Sort.{max (succ u2) (succ u1)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u2) (succ u1), max (succ u2) (succ u1)} a b] => self.0) (LinearEquiv.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (LinearMap.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (HasLiftT.mk.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (LinearMap.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (CoeTCₓ.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (LinearMap.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (coeBase.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (LinearMap.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u4, u4, u2, u1} A A M' M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))))))) (Basis.equiv.{u3, u3, u4, u2, u1} ι ι A M' M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 b' b (Equiv.refl.{succ u3} ι)))))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u4}} [_inst_8 : CommRing.{u4} A] [_inst_9 : Module.{u4, u1} A M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] [_inst_10 : Module.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] (b : Basis.{u2, u4, u1} ι A M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (b' : Basis.{u2, u4, u3} ι A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10) (f : LinearMap.{u4, u4, u1, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_9 _inst_10), Eq.{succ u4} A (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u2), succ u4} (AlternatingMap.{u4, u3, u4, u2} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))) ι) (ι -> M') (fun (_x : ι -> M') => A) (AlternatingMap.funLike.{u4, u3, u4, u2} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))) ι) (Basis.det.{u4, u3, u2} A _inst_8 M' _inst_4 _inst_10 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b') (Function.comp.{succ u2, succ u1, succ u3} ι M M' (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u4, u4, u1, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_9 _inst_10) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u1, u3} A A M M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_9 _inst_10 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))))) f) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), succ u2, succ u1} (Basis.{u2, u4, u1} ι A M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u2, u4, u1} ι A M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) b))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))) (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (fun (_x : LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) => A) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))) (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulOneClass.toMul.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10))))) (MulOneClass.toMul.{u4} A (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))) (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))))) (LinearMap.det.{u3, u4} M' _inst_4 A _inst_8 _inst_10) (LinearMap.comp.{u4, u4, u4, u3, u1, u3} A A A M' M M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_9 _inst_10 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHomCompTriple.ids.{u4, u4} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))))) f (LinearEquiv.toLinearMap.{u4, u4, u3, u1} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9 (Basis.equiv.{u2, u2, u4, u3, u1} ι ι A M' M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 b' b (Equiv.refl.{succ u2} ι)))))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u4}} [_inst_8 : CommRing.{u4} A] [_inst_9 : Module.{u4, u1} A M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] [_inst_10 : Module.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] (b : Basis.{u2, u4, u1} ι A M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (b' : Basis.{u2, u4, u3} ι A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10) (f : LinearMap.{u4, u4, u1, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_9 _inst_10), Eq.{succ u4} A (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u2), succ u4} (AlternatingMap.{u4, u3, u4, u2} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))) ι) (ι -> M') (fun (_x : ι -> M') => A) (AlternatingMap.funLike.{u4, u3, u4, u2} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))) ι) (Basis.det.{u4, u3, u2} A _inst_8 M' _inst_4 _inst_10 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b') (Function.comp.{succ u2, succ u1, succ u3} ι M M' (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u4, u4, u1, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_9 _inst_10) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u1, u3} A A M M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_9 _inst_10 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))))) f) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), succ u2, succ u1} (Basis.{u2, u4, u1} ι A M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u2, u4, u1} ι A M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) b))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))) (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (fun (_x : LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) => A) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))) (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulOneClass.toMul.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10))))) (MulOneClass.toMul.{u4} A (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))) (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))))) (LinearMap.det.{u3, u4} M' _inst_4 A _inst_8 _inst_10) (LinearMap.comp.{u4, u4, u4, u3, u1, u3} A A A M' M M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_9 _inst_10 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHomCompTriple.ids.{u4, u4} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))))) f (LinearEquiv.toLinearMap.{u4, u4, u3, u1} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9 (Basis.equiv.{u2, u2, u4, u3, u1} ι ι A M' M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 b' b (Equiv.refl.{succ u2} ι)))))
 Case conversion may be inaccurate. Consider using '#align basis.det_comp_basis Basis.det_comp_basisₓ'. -/
 @[simp]
 theorem Basis.det_comp_basis [Module A M'] (b : Basis ι A M) (b' : Basis ι A M') (f : M →ₗ[A] M') :
@@ -1010,7 +1010,7 @@ theorem Basis.det_reindex_symm {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (b
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] {ι : Type.{u4}} [_inst_6 : DecidableEq.{succ u4} ι] [_inst_7 : Fintype.{u4} ι] (b : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (f : LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (v : ι -> M'), Eq.{succ u1} R (coeFn.{max (succ u3) (succ u1) (succ u4), max (max (succ u4) (succ u3)) (succ u1)} (AlternatingMap.{u1, u3, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u3, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M') -> R) (AlternatingMap.coeFun.{u1, u3, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u3, u4} R _inst_1 M' _inst_4 _inst_5 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 (Basis.map.{u4, u1, u2, u3} ι R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 b f)) v) (coeFn.{max (succ u2) (succ u1) (succ u4), max (max (succ u4) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u4} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) (Function.comp.{succ u4, succ u3, succ u2} ι M' M (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (LinearEquiv.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (fun (_x : LinearEquiv.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) => M' -> M) (LinearEquiv.hasCoeToFun.{u1, u1, u3, u2} R R M' M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.symm.{u1, u1, u2, u3} R R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f)) v))
 but is expected to have type
-  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u1}} [_inst_4 : AddCommGroup.{u1} M'] [_inst_5 : Module.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4)] {ι : Type.{u4}} [_inst_6 : DecidableEq.{succ u4} ι] [_inst_7 : Fintype.{u4} ι] (b : Basis.{u4, u3, u2} ι R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (f : LinearEquiv.{u3, u3, u2, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5) (v : ι -> M'), Eq.{succ u3} R (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u4), max (succ u1) (succ u4), succ u3} (AlternatingMap.{u3, u1, u3, u4} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (ι -> M') (fun (_x : ι -> M') => R) (AlternatingMap.funLike.{u3, u1, u3, u4} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (Basis.det.{u3, u1, u4} R _inst_1 M' _inst_4 _inst_5 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 (Basis.map.{u4, u3, u2, u1} ι R M M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 b f)) v) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u4), max (succ u2) (succ u4), succ u3} (AlternatingMap.{u3, u2, u3, u4} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u3, u2, u3, u4} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (Basis.det.{u3, u2, u4} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) (Function.comp.{succ u4, succ u1, succ u2} ι M' M (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (LinearEquiv.{u3, u3, u1, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) M' (fun (_x : M') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M') => M) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u1, u2} (LinearEquiv.{u3, u3, u1, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) R M' M (SMulZeroClass.toSMul.{u3, u1} R M' (AddMonoid.toZero.{u1} M' (AddCommMonoid.toAddMonoid.{u1} M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4))) (DistribSMul.toSMulZeroClass.{u3, u1} R M' (AddMonoid.toAddZeroClass.{u1} M' (AddCommMonoid.toAddMonoid.{u1} M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4))) (DistribMulAction.toDistribSMul.{u3, u1} R M' (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4)) (Module.toDistribMulAction.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Module.toDistribMulAction.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u1, u2} (LinearEquiv.{u3, u3, u1, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) R M' M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4)) (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Module.toDistribMulAction.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5) (Module.toDistribMulAction.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u3, u1, u2, max u2 u1} R M' M (LinearEquiv.{u3, u3, u1, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u1, u2, max u2 u1} R R M' M (LinearEquiv.{u3, u3, u1, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u1, u2} R R M' M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (LinearEquiv.symm.{u3, u3, u2, u1} R R M M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) f)) v))
+  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u1}} [_inst_4 : AddCommGroup.{u1} M'] [_inst_5 : Module.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4)] {ι : Type.{u4}} [_inst_6 : DecidableEq.{succ u4} ι] [_inst_7 : Fintype.{u4} ι] (b : Basis.{u4, u3, u2} ι R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (f : LinearEquiv.{u3, u3, u2, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5) (v : ι -> M'), Eq.{succ u3} R (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u4), max (succ u1) (succ u4), succ u3} (AlternatingMap.{u3, u1, u3, u4} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (ι -> M') (fun (_x : ι -> M') => R) (AlternatingMap.funLike.{u3, u1, u3, u4} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (Basis.det.{u3, u1, u4} R _inst_1 M' _inst_4 _inst_5 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 (Basis.map.{u4, u3, u2, u1} ι R M M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 b f)) v) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u4), max (succ u2) (succ u4), succ u3} (AlternatingMap.{u3, u2, u3, u4} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u3, u2, u3, u4} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (Basis.det.{u3, u2, u4} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) (Function.comp.{succ u4, succ u1, succ u2} ι M' M (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (LinearEquiv.{u3, u3, u1, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) M' (fun (_x : M') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : M') => M) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u1, u2} (LinearEquiv.{u3, u3, u1, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) R M' M (SMulZeroClass.toSMul.{u3, u1} R M' (AddMonoid.toZero.{u1} M' (AddCommMonoid.toAddMonoid.{u1} M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4))) (DistribSMul.toSMulZeroClass.{u3, u1} R M' (AddMonoid.toAddZeroClass.{u1} M' (AddCommMonoid.toAddMonoid.{u1} M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4))) (DistribMulAction.toDistribSMul.{u3, u1} R M' (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4)) (Module.toDistribMulAction.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Module.toDistribMulAction.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u1, u2} (LinearEquiv.{u3, u3, u1, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) R M' M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4)) (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Module.toDistribMulAction.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5) (Module.toDistribMulAction.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u3, u1, u2, max u2 u1} R M' M (LinearEquiv.{u3, u3, u1, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u1, u2, max u2 u1} R R M' M (LinearEquiv.{u3, u3, u1, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u1, u2} R R M' M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (LinearEquiv.symm.{u3, u3, u2, u1} R R M M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) f)) v))
 Case conversion may be inaccurate. Consider using '#align basis.det_map Basis.det_mapₓ'. -/
 @[simp]
 theorem Basis.det_map (b : Basis ι R M) (f : M ≃ₗ[R] M') (v : ι → M') :
Diff
@@ -194,7 +194,7 @@ irreducible_def detAux : Trunc (Basis ι A M) → (M →ₗ[A] M) →* A :=
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Module.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (b : Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u3} A (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.detAux.{u1, u2, u3} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 (Trunc.mk.{max (succ u2) (succ u3) (succ u1)} (Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) b)) f) (Matrix.det.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (coeFn.{max (succ u1) (succ (max u2 u3)), max (succ u1) (succ (max u2 u3))} (LinearEquiv.{u3, u3, u1, max u2 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (fun (_x : LinearEquiv.{u3, u3, u1, max u2 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) => (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> (Matrix.{u2, u2, u3} ι ι A)) (LinearEquiv.hasCoeToFun.{u3, u3, u1, max u2 u3} A A (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))) (LinearMap.toMatrix.{u3, u2, u2, u1, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (b : Basis.{u3, u2, u1} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.detAux.{u1, u3, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 (Trunc.mk.{max (max (succ u2) (succ u3)) (succ u1)} (Basis.{u3, u2, u1} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) b)) f) (Matrix.det.{u2, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => Matrix.{u3, u3, u2} ι ι A) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (SMulZeroClass.toSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toZero.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toAddZeroClass.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u1 u3) u2} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u1 u3) u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u3, u3, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (b : Basis.{u3, u2, u1} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.detAux.{u1, u3, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 (Trunc.mk.{max (max (succ u2) (succ u3)) (succ u1)} (Basis.{u3, u2, u1} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) b)) f) (Matrix.det.{u2, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => Matrix.{u3, u3, u2} ι ι A) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (SMulZeroClass.toSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toZero.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toAddZeroClass.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u1 u3) u2} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u1 u3) u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u3, u3, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f))
 Case conversion may be inaccurate. Consider using '#align linear_map.det_aux_def LinearMap.detAux_def'ₓ'. -/
 /-- Unfold lemma for `det_aux`.
 
@@ -211,7 +211,7 @@ theorem detAux_def' (b : Basis ι A M) (f : M →ₗ[A] M) :
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Module.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι' : Type.{u4}} [_inst_11 : Fintype.{u4} ι'] [_inst_12 : DecidableEq.{succ u4} ι'] (tb : Trunc.{max (succ u2) (succ u3) (succ u1)} (Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (b' : Basis.{u4, u3, u1} ι' A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u3} A (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.detAux.{u1, u2, u3} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 tb) f) (Matrix.det.{u3, u4} ι' (fun (a : ι') (b : ι') => _inst_12 a b) _inst_11 A _inst_8 (coeFn.{max (succ u1) (succ (max u4 u3)), max (succ u1) (succ (max u4 u3))} (LinearEquiv.{u3, u3, u1, max u4 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u3} ι' ι' A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u4, u4, u3} ι' ι' A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (fun (_x : LinearEquiv.{u3, u3, u1, max u4 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u3} ι' ι' A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u4, u4, u3} ι' ι' A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) => (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> (Matrix.{u4, u4, u3} ι' ι' A)) (LinearEquiv.hasCoeToFun.{u3, u3, u1, max u4 u3} A A (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u3} ι' ι' A) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u4, u4, u3} ι' ι' A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))) (LinearMap.toMatrix.{u3, u4, u4, u1, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) ι' ι' _inst_11 _inst_11 (fun (a : ι') (b : ι') => _inst_12 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b' b') f))
 but is expected to have type
-  forall {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] {ι' : Type.{u4}} [_inst_11 : Fintype.{u4} ι'] [_inst_12 : DecidableEq.{succ u4} ι'] (tb : Trunc.{max (max (succ u3) (succ u2)) (succ u1)} (Basis.{u1, u2, u3} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (b' : Basis.{u4, u2, u3} ι' A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.detAux.{u3, u1, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 tb) f) (Matrix.det.{u2, u4} ι' (fun (a : ι') (b : ι') => _inst_12 a b) _inst_11 A _inst_8 (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u4), succ u3, max (succ u2) (succ u4)} (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => Matrix.{u4, u4, u2} ι' ι' A) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u4, u2, u3, max u2 u4} (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (SMulZeroClass.toSMul.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (AddMonoid.toZero.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (AddMonoid.toAddZeroClass.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u4, u2, u3, max u2 u4} (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u3, max u2 u4, max (max u3 u2) u4} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u3, max u2 u4, max (max u3 u2) u4} A A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u3, max u2 u4} A A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u4, u4, u3, u3} A (CommRing.toCommSemiring.{u2} A _inst_8) ι' ι' _inst_11 _inst_11 (fun (a : ι') (b : ι') => _inst_12 a b) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 b' b') f))
+  forall {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] {ι' : Type.{u4}} [_inst_11 : Fintype.{u4} ι'] [_inst_12 : DecidableEq.{succ u4} ι'] (tb : Trunc.{max (max (succ u3) (succ u2)) (succ u1)} (Basis.{u1, u2, u3} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (b' : Basis.{u4, u2, u3} ι' A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.detAux.{u3, u1, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 tb) f) (Matrix.det.{u2, u4} ι' (fun (a : ι') (b : ι') => _inst_12 a b) _inst_11 A _inst_8 (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u4), succ u3, max (succ u2) (succ u4)} (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => Matrix.{u4, u4, u2} ι' ι' A) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u4, u2, u3, max u2 u4} (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (SMulZeroClass.toSMul.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (AddMonoid.toZero.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (AddMonoid.toAddZeroClass.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u4, u2, u3, max u2 u4} (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u3, max u2 u4, max (max u3 u2) u4} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u3, max u2 u4, max (max u3 u2) u4} A A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u3, max u2 u4} A A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u4, u4, u3, u3} A (CommRing.toCommSemiring.{u2} A _inst_8) ι' ι' _inst_11 _inst_11 (fun (a : ι') (b : ι') => _inst_12 a b) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 b' b') f))
 Case conversion may be inaccurate. Consider using '#align linear_map.det_aux_def' LinearMap.detAux_def''ₓ'. -/
 theorem detAux_def'' {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (tb : Trunc <| Basis ι A M)
     (b' : Basis ι' A M) (f : M →ₗ[A] M) :
@@ -226,7 +226,7 @@ theorem detAux_def'' {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (tb : Trunc
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Module.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (b : Trunc.{max (succ u2) (succ u3) (succ u1)} (Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)), Eq.{succ u3} A (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.detAux.{u1, u2, u3} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) (LinearMap.id.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (OfNat.ofNat.{u3} A 1 (OfNat.mk.{u3} A 1 (One.one.{u3} A (AddMonoidWithOne.toOne.{u3} A (AddGroupWithOne.toAddMonoidWithOne.{u3} A (AddCommGroupWithOne.toAddGroupWithOne.{u3} A (Ring.toAddCommGroupWithOne.{u3} A (CommRing.toRing.{u3} A _inst_8))))))))
 but is expected to have type
-  forall {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (b : Trunc.{max (max (succ u3) (succ u2)) (succ u1)} (Basis.{u1, u2, u3} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.detAux.{u3, u1, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) (LinearMap.id.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (Semiring.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) _inst_8)))))
+  forall {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (b : Trunc.{max (max (succ u3) (succ u2)) (succ u1)} (Basis.{u1, u2, u3} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.detAux.{u3, u1, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) (LinearMap.id.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (Semiring.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) _inst_8)))))
 Case conversion may be inaccurate. Consider using '#align linear_map.det_aux_id LinearMap.detAux_idₓ'. -/
 @[simp]
 theorem detAux_id (b : Trunc <| Basis ι A M) : LinearMap.detAux b LinearMap.id = 1 :=
@@ -237,7 +237,7 @@ theorem detAux_id (b : Trunc <| Basis ι A M) : LinearMap.detAux b LinearMap.id
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Module.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (b : Trunc.{max (succ u2) (succ u3) (succ u1)} (Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (f : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (g : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u3} A (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.detAux.{u1, u2, u3} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) (LinearMap.comp.{u3, u3, u3, u1, u1, u1} A A A M M M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) (RingHomCompTriple.right_ids.{u3, u3} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))))) f g)) (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (Ring.toDistrib.{u3} A (CommRing.toRing.{u3} A _inst_8)))) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.detAux.{u1, u2, u3} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) f) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.detAux.{u1, u2, u3} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) g))
 but is expected to have type
-  forall {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (b : Trunc.{max (max (succ u3) (succ u2)) (succ u1)} (Basis.{u1, u2, u3} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (f : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (g : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.comp.{u2, u2, u2, u3, u3, u3} A A A M M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) f g)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.detAux.{u3, u1, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) (LinearMap.comp.{u2, u2, u2, u3, u3, u3} A A A M M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) f g)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) _inst_8))))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.detAux.{u3, u1, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) f) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.detAux.{u3, u1, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) g))
+  forall {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (b : Trunc.{max (max (succ u3) (succ u2)) (succ u1)} (Basis.{u1, u2, u3} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (f : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (g : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.comp.{u2, u2, u2, u3, u3, u3} A A A M M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) f g)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.detAux.{u3, u1, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) (LinearMap.comp.{u2, u2, u2, u3, u3, u3} A A A M M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) f g)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) _inst_8))))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.detAux.{u3, u1, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) f) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.detAux.{u3, u1, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) g))
 Case conversion may be inaccurate. Consider using '#align linear_map.det_aux_comp LinearMap.detAux_compₓ'. -/
 @[simp]
 theorem detAux_comp (b : Trunc <| Basis ι A M) (f g : M →ₗ[A] M) :
@@ -266,7 +266,7 @@ protected irreducible_def det : (M →ₗ[A] M) →* A :=
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] [_inst_11 : DecidableEq.{succ u1} M], Eq.{max (succ u1) (succ u2)} ((LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9)) (dite.{max (succ u1) (succ u2)} ((LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (Exists.{succ u1} (Finset.{u1} M) (fun (s : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))) (Classical.propDecidable (Exists.{succ u1} (Finset.{u1} M) (fun (s : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (fun (H : Exists.{succ u1} (Finset.{u1} M) (fun (s : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))) => coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.detAux.{u1, u1, u2} M _inst_2 (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) (Exists.choose.{succ u1} (Finset.{u1} M) (fun (a : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) a) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) H)) (fun (a : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) (Exists.choose.{succ u1} (Finset.{u1} M) (fun (a : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) a) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) H)) (b : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) (Exists.choose.{succ u1} (Finset.{u1} M) (fun (a : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) a) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) H)) => Subtype.decidableEq.{u1} M (fun (x : M) => Membership.Mem.{u1, u1} M (Finset.{u1} M) (Finset.hasMem.{u1} M) x (Exists.choose.{succ u1} (Finset.{u1} M) (fun (a : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) a) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) H)) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u1} M (Exists.choose.{succ u1} (Finset.{u1} M) (fun (a : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) a) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) H)) A _inst_8 _inst_9 (Trunc.mk.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) (Exists.choose.{succ u1} (Finset.{u1} M) (fun (a : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) a) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) H)) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (Nonempty.some.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) (Exists.choose.{succ u1} (Finset.{u1} M) (fun (a : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) a) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) H)) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (Exists.choose_spec.{succ u1} (Finset.{u1} M) (fun (s : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) H))))) (fun (H : Not (Exists.{succ u1} (Finset.{u1} M) (fun (s : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) => OfNat.ofNat.{max u1 u2} ((LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) 1 (OfNat.mk.{max u1 u2} ((LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) 1 (One.one.{max u1 u2} ((LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (Pi.instOne.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (ᾰ : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (fun (i : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => AddMonoidWithOne.toOne.{u2} A (AddGroupWithOne.toAddMonoidWithOne.{u2} A (AddCommGroupWithOne.toAddGroupWithOne.{u2} A (Ring.toAddCommGroupWithOne.{u2} A (CommRing.toRing.{u2} A _inst_8))))))))))
 but is expected to have type
-  forall {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] [_inst_9 : Module.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_11 : DecidableEq.{succ u2} M], Eq.{max (succ u2) (succ u1)} (forall (ᾰ : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.det.{u2, u1} M _inst_2 A _inst_8 _inst_9)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (a : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) a) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (dite.{max (succ u1) (succ u2)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Exists.{succ u2} (Finset.{u2} M) (fun (s : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))) (Classical.propDecidable (Exists.{succ u2} (Finset.{u2} M) (fun (s : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (fun (H : Exists.{succ u2} (Finset.{u2} M) (fun (s : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))) => LinearMap.detAux.{u2, u2, u1} M _inst_2 (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H))) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H))) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H))) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H)) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u2} M (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H)) A _inst_8 _inst_9 (Trunc.mk.{max (succ u1) (succ u2)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H))) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9) (Nonempty.some.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H))) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9) (Exists.choose_spec.{succ u2} (Finset.{u2} M) (fun (s : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H)))) (fun (H : Not (Exists.{succ u2} (Finset.{u2} M) (fun (s : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) => OfNat.ofNat.{max u2 u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) 1 (One.toOfNat1.{max u2 u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (instOneMonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))))))
+  forall {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] [_inst_9 : Module.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_11 : DecidableEq.{succ u2} M], Eq.{max (succ u2) (succ u1)} (forall (ᾰ : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.det.{u2, u1} M _inst_2 A _inst_8 _inst_9)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (a : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) a) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (dite.{max (succ u1) (succ u2)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Exists.{succ u2} (Finset.{u2} M) (fun (s : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))) (Classical.propDecidable (Exists.{succ u2} (Finset.{u2} M) (fun (s : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (fun (H : Exists.{succ u2} (Finset.{u2} M) (fun (s : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))) => LinearMap.detAux.{u2, u2, u1} M _inst_2 (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H))) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H))) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H))) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H)) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u2} M (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H)) A _inst_8 _inst_9 (Trunc.mk.{max (succ u1) (succ u2)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H))) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9) (Nonempty.some.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H))) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9) (Exists.choose_spec.{succ u2} (Finset.{u2} M) (fun (s : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H)))) (fun (H : Not (Exists.{succ u2} (Finset.{u2} M) (fun (s : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) => OfNat.ofNat.{max u2 u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) 1 (One.toOfNat1.{max u2 u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (instOneMonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))))))
 Case conversion may be inaccurate. Consider using '#align linear_map.coe_det LinearMap.coe_detₓ'. -/
 theorem coe_det [DecidableEq M] :
     ⇑(LinearMap.det : (M →ₗ[A] M) →* A) =
@@ -288,7 +288,7 @@ end
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] [_inst_11 : DecidableEq.{succ u1} M] {s : Finset.{u1} M} (b : Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} A (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f) (Matrix.det.{u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (fun (a : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (b : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) => Subtype.decidableEq.{u1} M (fun (x : M) => Membership.Mem.{u1, u1} M (Finset.{u1} M) (Finset.hasMem.{u1} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u1} M s) A _inst_8 (coeFn.{max (succ u1) (succ (max u1 u2)), max (succ u1) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u1, max u1 u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.toMatrix._proof_2.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.module.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u2, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u2, u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (fun (_x : LinearEquiv.{u2, u2, u1, max u1 u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.toMatrix._proof_2.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.module.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u2, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u2, u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) => (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A)) (LinearEquiv.hasCoeToFun.{u2, u2, u1, max u1 u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.module.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u2, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u2, u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.toMatrix._proof_2.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.toMatrix.{u2, u1, u1, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (Finset.Subtype.fintype.{u1} M s) (Finset.Subtype.fintype.{u1} M s) (fun (a : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (b : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) => Subtype.decidableEq.{u1} M (fun (x : M) => Membership.Mem.{u1, u1} M (Finset.{u1} M) (Finset.hasMem.{u1} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f))
 but is expected to have type
-  forall {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] [_inst_9 : Module.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_11 : DecidableEq.{succ u2} M] {s : Finset.{u2} M} (b : Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9) (f : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.det.{u2, u1} M _inst_2 A _inst_8 _inst_9) f) (Matrix.det.{u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u2} M s) A _inst_8 (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, u2, max u2 u1} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (SMulZeroClass.toSMul.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Module.toDistribMulAction.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, u2, max u2 u1} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, max u2 u1, max u2 u1} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, max u2 u1} A A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.toMatrix.{u1, u2, u2, u2, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Finset.Subtype.fintype.{u2} M s) (Finset.Subtype.fintype.{u2} M s) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 b b) f))
+  forall {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] [_inst_9 : Module.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_11 : DecidableEq.{succ u2} M] {s : Finset.{u2} M} (b : Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9) (f : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.det.{u2, u1} M _inst_2 A _inst_8 _inst_9) f) (Matrix.det.{u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u2} M s) A _inst_8 (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, u2, max u2 u1} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (SMulZeroClass.toSMul.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Module.toDistribMulAction.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, u2, max u2 u1} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, max u2 u1, max u2 u1} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, max u2 u1} A A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.toMatrix.{u1, u2, u2, u2, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Finset.Subtype.fintype.{u2} M s) (Finset.Subtype.fintype.{u2} M s) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 b b) f))
 Case conversion may be inaccurate. Consider using '#align linear_map.det_eq_det_to_matrix_of_finset LinearMap.det_eq_det_toMatrix_of_finsetₓ'. -/
 -- Auxiliary lemma, the `simp` normal form goes in the other direction
 -- (using `linear_map.det_to_matrix`)
@@ -303,7 +303,7 @@ theorem det_eq_det_toMatrix_of_finset [DecidableEq M] {s : Finset M} (b : Basis
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Module.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (b : Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u3} A (Matrix.det.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (coeFn.{max (succ u1) (succ (max u2 u3)), max (succ u1) (succ (max u2 u3))} (LinearEquiv.{u3, u3, u1, max u2 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (fun (_x : LinearEquiv.{u3, u3, u1, max u2 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) => (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> (Matrix.{u2, u2, u3} ι ι A)) (LinearEquiv.hasCoeToFun.{u3, u3, u1, max u2 u3} A A (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))) (LinearMap.toMatrix.{u3, u2, u2, u1, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f)) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.det.{u1, u3} M _inst_2 A _inst_8 _inst_9) f)
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (b : Basis.{u3, u2, u1} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} A (Matrix.det.{u2, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => Matrix.{u3, u3, u2} ι ι A) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (SMulZeroClass.toSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toZero.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toAddZeroClass.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u1 u3) u2} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u1 u3) u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u3, u3, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f)
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (b : Basis.{u3, u2, u1} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} A (Matrix.det.{u2, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => Matrix.{u3, u3, u2} ι ι A) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (SMulZeroClass.toSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toZero.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toAddZeroClass.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u1 u3) u2} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u1 u3) u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u3, u3, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f)
 Case conversion may be inaccurate. Consider using '#align linear_map.det_to_matrix LinearMap.det_toMatrixₓ'. -/
 @[simp]
 theorem det_toMatrix (b : Basis ι A M) (f : M →ₗ[A] M) : Matrix.det (toMatrix b b f) = f.det :=
@@ -316,7 +316,7 @@ theorem det_toMatrix (b : Basis ι A M) (f : M →ₗ[A] M) : Matrix.det (toMatr
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {ι : Type.{u2}} [_inst_11 : Fintype.{u2} ι] [_inst_12 : DecidableEq.{succ u2} ι] (f : LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))), Eq.{succ u1} A (Matrix.det.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_12 a b) _inst_11 A _inst_8 (coeFn.{succ (max u2 u1), succ (max u2 u1)} (LinearEquiv.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_1.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.toMatrix'._proof_2.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_3.{u1, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι)) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (_x : LinearEquiv.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_1.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.toMatrix'._proof_2.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_3.{u1, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι)) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) -> (Matrix.{u2, u2, u1} ι ι A)) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_3.{u1, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι)) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_1.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.toMatrix'._proof_2.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.toMatrix'.{u1, u2, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι ι _inst_11 (fun (a : ι) (b : ι) => _inst_12 a b)) f)) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ (max u2 u1)) (succ u1)} (MonoidHom.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u2 u1} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (fun (_x : MonoidHom.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u2 u1} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) => (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) -> A) (MonoidHom.hasCoeToFun.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u2 u1} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.det.{max u2 u1, u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A _inst_8 (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) f)
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {ι : Type.{u2}} [_inst_11 : Fintype.{u2} ι] [_inst_12 : DecidableEq.{succ u2} ι] (f : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))), Eq.{succ u1} A (Matrix.det.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_12 a b) _inst_11 A _inst_8 (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (_x : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => Matrix.{u2, u2, u1} ι ι A) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (SMulZeroClass.toSMul.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddMonoid.toZero.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddMonoid.toAddZeroClass.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Module.toDistribMulAction.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, max u2 u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.toMatrix'.{u1, u2, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι ι _inst_11 (fun (a : ι) (b : ι) => _inst_12 a b)) f)) (FunLike.coe.{max (succ u1) (succ (max u1 u2)), succ (max u1 u2), succ u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (_x : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => A) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulOneClass.toMul.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.det.{max u1 u2, u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) A _inst_8 (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) f)
+  forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {ι : Type.{u2}} [_inst_11 : Fintype.{u2} ι] [_inst_12 : DecidableEq.{succ u2} ι] (f : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))), Eq.{succ u1} A (Matrix.det.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_12 a b) _inst_11 A _inst_8 (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (_x : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => Matrix.{u2, u2, u1} ι ι A) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (SMulZeroClass.toSMul.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddMonoid.toZero.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddMonoid.toAddZeroClass.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Module.toDistribMulAction.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, max u2 u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.toMatrix'.{u1, u2, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι ι _inst_11 (fun (a : ι) (b : ι) => _inst_12 a b)) f)) (FunLike.coe.{max (succ u1) (succ (max u1 u2)), succ (max u1 u2), succ u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (_x : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => A) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulOneClass.toMul.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.det.{max u1 u2, u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) A _inst_8 (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) f)
 Case conversion may be inaccurate. Consider using '#align linear_map.det_to_matrix' LinearMap.det_toMatrix'ₓ'. -/
 @[simp]
 theorem det_toMatrix' {ι : Type _} [Fintype ι] [DecidableEq ι] (f : (ι → A) →ₗ[A] ι → A) :
@@ -327,7 +327,7 @@ theorem det_toMatrix' {ι : Type _} [Fintype ι] [DecidableEq ι] (f : (ι → A
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (b : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (f : Matrix.{u3, u3, u1} ι ι R), Eq.{succ u1} R (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (LinearEquiv.{u1, u1, max u3 u1, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.toLin._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.{u3, u3, u1} ι ι R) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u1, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u3, u3, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.module.{u1, u1, u1, u2, u2} R R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (Matrix.toLin._proof_3.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) (fun (_x : LinearEquiv.{u1, u1, max u3 u1, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.toLin._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.{u3, u3, u1} ι ι R) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u1, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u3, u3, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.module.{u1, u1, u1, u2, u2} R R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (Matrix.toLin._proof_3.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) => (Matrix.{u3, u3, u1} ι ι R) -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3)) (LinearEquiv.hasCoeToFun.{u1, u1, max u3 u1, u2} R R (Matrix.{u3, u3, u1} ι ι R) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u3, u3, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.module.{u1, u1, u1, u2, u2} R R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (Matrix.toLin._proof_3.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.toLin._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.toLin.{u1, u3, u3, u2, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 b b) f)) (Matrix.det.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 f)
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (b : Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (f : Matrix.{u3, u3, u2} ι ι R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), succ u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (Matrix.{u3, u3, u2} ι ι R) (fun (a : Matrix.{u3, u3, u2} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u2} ι ι R) => LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) a) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (SMulZeroClass.toSMul.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (AddMonoid.toZero.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (SMulZeroClass.toSMul.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u1) u3} R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u2 u3, u1, max (max u2 u1) u3} R R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u2 u3, u1} R R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (Matrix.toLin.{u2, u3, u3, u1, u1} R (CommRing.toCommSemiring.{u2} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 b b) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), succ u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (Matrix.{u3, u3, u2} ι ι R) (fun (_x : Matrix.{u3, u3, u2} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u2} ι ι R) => LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (SMulZeroClass.toSMul.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (AddMonoid.toZero.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (SMulZeroClass.toSMul.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u1) u3} R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u2 u3, u1, max (max u2 u1) u3} R R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u2 u3, u1} R R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (Matrix.toLin.{u2, u3, u3, u1, u1} R (CommRing.toCommSemiring.{u2} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 b b) f)) (Matrix.det.{u2, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 f)
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (b : Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (f : Matrix.{u3, u3, u2} ι ι R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), succ u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (Matrix.{u3, u3, u2} ι ι R) (fun (a : Matrix.{u3, u3, u2} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u2} ι ι R) => LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) a) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (SMulZeroClass.toSMul.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (AddMonoid.toZero.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (SMulZeroClass.toSMul.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u1) u3} R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u2 u3, u1, max (max u2 u1) u3} R R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u2 u3, u1} R R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (Matrix.toLin.{u2, u3, u3, u1, u1} R (CommRing.toCommSemiring.{u2} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 b b) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), succ u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (Matrix.{u3, u3, u2} ι ι R) (fun (_x : Matrix.{u3, u3, u2} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u2} ι ι R) => LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (SMulZeroClass.toSMul.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (AddMonoid.toZero.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (SMulZeroClass.toSMul.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u1) u3} R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u2 u3, u1, max (max u2 u1) u3} R R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u2 u3, u1} R R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (Matrix.toLin.{u2, u3, u3, u1, u1} R (CommRing.toCommSemiring.{u2} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 b b) f)) (Matrix.det.{u2, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 f)
 Case conversion may be inaccurate. Consider using '#align linear_map.det_to_lin LinearMap.det_toLinₓ'. -/
 @[simp]
 theorem det_toLin (b : Basis ι R M) (f : Matrix ι ι R) :
@@ -339,7 +339,7 @@ theorem det_toLin (b : Basis ι R M) (f : Matrix ι ι R) :
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] (f : Matrix.{u2, u2, u1} ι ι R), Eq.{succ u1} R (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ (max u2 u1)) (succ u1)} (MonoidHom.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u2 u1} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u2 u1} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) -> R) (MonoidHom.hasCoeToFun.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u2 u1} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{max u2 u1, u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) R _inst_1 (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (coeFn.{succ (max u2 u1), succ (max u2 u1)} (LinearEquiv.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.toLin'._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_3.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι))) (fun (_x : LinearEquiv.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.toLin'._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_3.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι))) => (Matrix.{u2, u2, u1} ι ι R) -> (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_3.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.toLin'._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.toLin'.{u1, u2, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b)) f)) (Matrix.det.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 f)
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] (f : Matrix.{u2, u2, u1} ι ι R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => R) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (Matrix.{u2, u2, u1} ι ι R) (fun (a : Matrix.{u2, u2, u1} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u2, u2, u1} ι ι R) => LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) a) (SMulHomClass.toFunLike.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toZero.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toAddZeroClass.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, max u2 u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (Matrix.toLin'.{u1, u2, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b)) f)) (FunLike.coe.{max (succ u1) (succ (max u1 u2)), succ (max u1 u2), succ u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (_x : LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulOneClass.toMul.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulOneClass.toMul.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (LinearMap.det.{max u1 u2, u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1))) R _inst_1 (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (Matrix.{u2, u2, u1} ι ι R) (fun (_x : Matrix.{u2, u2, u1} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u2, u2, u1} ι ι R) => LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toZero.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toAddZeroClass.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, max u2 u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (Matrix.toLin'.{u1, u2, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b)) f)) (Matrix.det.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 f)
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] (f : Matrix.{u2, u2, u1} ι ι R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => R) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (Matrix.{u2, u2, u1} ι ι R) (fun (a : Matrix.{u2, u2, u1} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u2, u2, u1} ι ι R) => LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) a) (SMulHomClass.toFunLike.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toZero.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toAddZeroClass.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, max u2 u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (Matrix.toLin'.{u1, u2, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b)) f)) (FunLike.coe.{max (succ u1) (succ (max u1 u2)), succ (max u1 u2), succ u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (_x : LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulOneClass.toMul.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulOneClass.toMul.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (LinearMap.det.{max u1 u2, u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1))) R _inst_1 (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (Matrix.{u2, u2, u1} ι ι R) (fun (_x : Matrix.{u2, u2, u1} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u2, u2, u1} ι ι R) => LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toZero.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toAddZeroClass.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, max u2 u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (Matrix.toLin'.{u1, u2, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b)) f)) (Matrix.det.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 f)
 Case conversion may be inaccurate. Consider using '#align linear_map.det_to_lin' LinearMap.det_toLin'ₓ'. -/
 @[simp]
 theorem det_toLin' (f : Matrix ι ι R) : LinearMap.det f.toLin' = f.det := by
@@ -350,7 +350,7 @@ theorem det_toLin' (f : Matrix ι ι R) : LinearMap.det f.toLin' = f.det := by
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] [_inst_11 : DecidableEq.{succ u1} M] {P : A -> Prop} (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), (forall (s : Finset.{u1} M) (b : Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9), P (Matrix.det.{u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (fun (a : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (b : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) => Subtype.decidableEq.{u1} M (fun (x : M) => Membership.Mem.{u1, u1} M (Finset.{u1} M) (Finset.hasMem.{u1} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u1} M s) A _inst_8 (coeFn.{max (succ u1) (succ (max u1 u2)), max (succ u1) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u1, max u1 u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.toMatrix._proof_2.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.module.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u2, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u2, u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (fun (_x : LinearEquiv.{u2, u2, u1, max u1 u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.toMatrix._proof_2.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.module.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u2, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u2, u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) => (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A)) (LinearEquiv.hasCoeToFun.{u2, u2, u1, max u1 u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.module.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u2, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u2, u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.toMatrix._proof_2.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.toMatrix.{u2, u1, u1, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (Finset.Subtype.fintype.{u1} M s) (Finset.Subtype.fintype.{u1} M s) (fun (a : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (b : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) => Subtype.decidableEq.{u1} M (fun (x : M) => Membership.Mem.{u1, u1} M (Finset.{u1} M) (Finset.hasMem.{u1} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f))) -> (P (OfNat.ofNat.{u2} A 1 (OfNat.mk.{u2} A 1 (One.one.{u2} A (AddMonoidWithOne.toOne.{u2} A (AddGroupWithOne.toAddMonoidWithOne.{u2} A (AddCommGroupWithOne.toAddGroupWithOne.{u2} A (Ring.toAddCommGroupWithOne.{u2} A (CommRing.toRing.{u2} A _inst_8))))))))) -> (P (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f))
 but is expected to have type
-  forall {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] [_inst_9 : Module.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_11 : DecidableEq.{succ u2} M] {P : A -> Prop} (f : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9), (forall (s : Finset.{u2} M) (b : Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9), P (Matrix.det.{u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u2} M s) A _inst_8 (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, u2, max u2 u1} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (SMulZeroClass.toSMul.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Module.toDistribMulAction.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, u2, max u2 u1} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, max u2 u1, max u2 u1} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, max u2 u1} A A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.toMatrix.{u1, u2, u2, u2, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Finset.Subtype.fintype.{u2} M s) (Finset.Subtype.fintype.{u2} M s) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 b b) f))) -> (P (OfNat.ofNat.{u1} A 1 (One.toOfNat1.{u1} A (Semiring.toOne.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) -> (P (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.det.{u2, u1} M _inst_2 A _inst_8 _inst_9) f))
+  forall {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] [_inst_9 : Module.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_11 : DecidableEq.{succ u2} M] {P : A -> Prop} (f : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9), (forall (s : Finset.{u2} M) (b : Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9), P (Matrix.det.{u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u2} M s) A _inst_8 (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, u2, max u2 u1} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (SMulZeroClass.toSMul.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Module.toDistribMulAction.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, u2, max u2 u1} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, max u2 u1, max u2 u1} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, max u2 u1} A A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.toMatrix.{u1, u2, u2, u2, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Finset.Subtype.fintype.{u2} M s) (Finset.Subtype.fintype.{u2} M s) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 b b) f))) -> (P (OfNat.ofNat.{u1} A 1 (One.toOfNat1.{u1} A (Semiring.toOne.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) -> (P (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.det.{u2, u1} M _inst_2 A _inst_8 _inst_9) f))
 Case conversion may be inaccurate. Consider using '#align linear_map.det_cases LinearMap.det_casesₓ'. -/
 /-- To show `P f.det` it suffices to consider `P (to_matrix _ _ f).det` and `P 1`. -/
 @[elab_as_elim]
@@ -368,7 +368,7 @@ theorem det_cases [DecidableEq M] {P : A → Prop} (f : M →ₗ[A] M)
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (g : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} A (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearMap.comp.{u2, u2, u2, u1, u1, u1} A A A M M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomCompTriple.right_ids.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))) f g)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) g))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (g : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.comp.{u2, u2, u2, u1, u1, u1} A A A M M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) f g)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearMap.comp.{u2, u2, u2, u1, u1, u1} A A A M M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) f g)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) g))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (g : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.comp.{u2, u2, u2, u1, u1, u1} A A A M M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) f g)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearMap.comp.{u2, u2, u2, u1, u1, u1} A A A M M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) f g)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) g))
 Case conversion may be inaccurate. Consider using '#align linear_map.det_comp LinearMap.det_compₓ'. -/
 @[simp]
 theorem det_comp (f g : M →ₗ[A] M) : (f.comp g).det = f.det * g.det :=
@@ -379,7 +379,7 @@ theorem det_comp (f g : M →ₗ[A] M) : (f.comp g).det = f.det * g.det :=
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)], Eq.{succ u2} A (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearMap.id.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (OfNat.ofNat.{u2} A 1 (OfNat.mk.{u2} A 1 (One.one.{u2} A (AddMonoidWithOne.toOne.{u2} A (AddGroupWithOne.toAddMonoidWithOne.{u2} A (AddCommGroupWithOne.toAddGroupWithOne.{u2} A (Ring.toAddCommGroupWithOne.{u2} A (CommRing.toRing.{u2} A _inst_8))))))))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)], Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearMap.id.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Semiring.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) _inst_8)))))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)], Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearMap.id.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Semiring.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) _inst_8)))))
 Case conversion may be inaccurate. Consider using '#align linear_map.det_id LinearMap.det_idₓ'. -/
 @[simp]
 theorem det_id : (LinearMap.id : M →ₗ[A] M).det = 1 :=
@@ -390,7 +390,7 @@ theorem det_id : (LinearMap.id : M →ₗ[A] M).det = 1 :=
 lean 3 declaration is
   forall {𝕜 : Type.{u1}} [_inst_11 : Field.{u1} 𝕜] {M : Type.{u2}} [_inst_12 : AddCommGroup.{u2} M] [_inst_13 : Module.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12)] (c : 𝕜) (f : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13), Eq.{succ u1} 𝕜 (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) => (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) -> 𝕜) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) (LinearMap.det.{u2, u1} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)) _inst_13) (SMul.smul.{u1, u2} 𝕜 (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (LinearMap.hasSmul.{u1, u1, u1, u2, u2} 𝕜 𝕜 𝕜 M M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13 (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) (Ring.toMonoid.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (Module.toDistribMulAction.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13) (smulCommClass_self.{u1, u2} 𝕜 M (CommRing.toCommMonoid.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11))) (MulActionWithZero.toMulAction.{u1, u2} 𝕜 M (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12)))) (Module.toMulActionWithZero.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13)))) c f)) (HMul.hMul.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHMul.{u1} 𝕜 (Distrib.toHasMul.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))) (HPow.hPow.{u1, 0, u1} 𝕜 Nat 𝕜 (instHPow.{u1, 0} 𝕜 Nat (Monoid.Pow.{u1} 𝕜 (Ring.toMonoid.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))) c (FiniteDimensional.finrank.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) _inst_12 _inst_13)) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) => (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) -> 𝕜) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) (LinearMap.det.{u2, u1} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)) _inst_13) f))
 but is expected to have type
-  forall {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] {M : Type.{u1}} [_inst_12 : AddCommGroup.{u1} M] [_inst_13 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12)] (c : 𝕜) (f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) (HSMul.hSMul.{u2, u1, u1} 𝕜 (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (instHSMul.{u2, u1} 𝕜 (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.instSMulLinearMap.{u2, u2, u2, u1, u1} 𝕜 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) (MonoidWithZero.toMonoid.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) (Module.toDistribMulAction.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13) (smulCommClass_self.{u2, u1} 𝕜 M (CommRing.toCommMonoid.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))) (MulActionWithZero.toMulAction.{u2, u1} 𝕜 M (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_12))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13))))) c f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_13) (HSMul.hSMul.{u2, u1, u1} 𝕜 (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (instHSMul.{u2, u1} 𝕜 (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.instSMulLinearMap.{u2, u2, u2, u1, u1} 𝕜 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) (MonoidWithZero.toMonoid.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) (Module.toDistribMulAction.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13) (smulCommClass_self.{u2, u1} 𝕜 M (CommRing.toCommMonoid.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))) (MulActionWithZero.toMulAction.{u2, u1} 𝕜 M (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_12))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13))))) c f)) (HMul.hMul.{u2, u2, u2} 𝕜 ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) 𝕜 (instHMul.{u2} 𝕜 (NonUnitalNonAssocRing.toMul.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11)))))) (HPow.hPow.{u2, 0, u2} 𝕜 Nat 𝕜 (instHPow.{u2, 0} 𝕜 Nat (Monoid.Pow.{u2} 𝕜 (MonoidWithZero.toMonoid.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))))) c (FiniteDimensional.finrank.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) _inst_12 _inst_13)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_13) f))
+  forall {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] {M : Type.{u1}} [_inst_12 : AddCommGroup.{u1} M] [_inst_13 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12)] (c : 𝕜) (f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) (HSMul.hSMul.{u2, u1, u1} 𝕜 (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (instHSMul.{u2, u1} 𝕜 (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.instSMulLinearMap.{u2, u2, u2, u1, u1} 𝕜 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) (MonoidWithZero.toMonoid.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) (Module.toDistribMulAction.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13) (smulCommClass_self.{u2, u1} 𝕜 M (CommRing.toCommMonoid.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))) (MulActionWithZero.toMulAction.{u2, u1} 𝕜 M (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_12))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13))))) c f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_13) (HSMul.hSMul.{u2, u1, u1} 𝕜 (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (instHSMul.{u2, u1} 𝕜 (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.instSMulLinearMap.{u2, u2, u2, u1, u1} 𝕜 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) (MonoidWithZero.toMonoid.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) (Module.toDistribMulAction.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13) (smulCommClass_self.{u2, u1} 𝕜 M (CommRing.toCommMonoid.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))) (MulActionWithZero.toMulAction.{u2, u1} 𝕜 M (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_12))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13))))) c f)) (HMul.hMul.{u2, u2, u2} 𝕜 ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) 𝕜 (instHMul.{u2} 𝕜 (NonUnitalNonAssocRing.toMul.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11)))))) (HPow.hPow.{u2, 0, u2} 𝕜 Nat 𝕜 (instHPow.{u2, 0} 𝕜 Nat (Monoid.Pow.{u2} 𝕜 (MonoidWithZero.toMonoid.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))))) c (FiniteDimensional.finrank.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) _inst_12 _inst_13)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_13) f))
 Case conversion may be inaccurate. Consider using '#align linear_map.det_smul LinearMap.det_smulₓ'. -/
 /-- Multiplying a map by a scalar `c` multiplies its determinant by `c ^ dim M`. -/
 @[simp]
@@ -413,7 +413,7 @@ theorem det_smul {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCommGroup M] [Mod
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_11 : Finite.{succ u3} ι] [_inst_12 : Nonempty.{succ u3} ι], (Basis.{u3, u2, u1} ι A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) -> (Eq.{succ u2} A (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (OfNat.mk.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.zero.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.hasZero.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))))))) (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))))))))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_11 : Finite.{succ u3} ι] [_inst_12 : Nonempty.{succ u3} ι], (Basis.{u3, u2, u1} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) -> (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (CommSemiring.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) _inst_8))))))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_11 : Finite.{succ u3} ι] [_inst_12 : Nonempty.{succ u3} ι], (Basis.{u3, u2, u1} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) -> (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (CommSemiring.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) _inst_8))))))
 Case conversion may be inaccurate. Consider using '#align linear_map.det_zero' LinearMap.det_zero'ₓ'. -/
 theorem det_zero' {ι : Type _} [Finite ι] [Nonempty ι] (b : Basis ι A M) :
     LinearMap.det (0 : M →ₗ[A] M) = 0 :=
@@ -427,7 +427,7 @@ theorem det_zero' {ι : Type _} [Finite ι] [Nonempty ι] (b : Basis ι A M) :
 lean 3 declaration is
   forall {𝕜 : Type.{u1}} [_inst_11 : Field.{u1} 𝕜] {M : Type.{u2}} [_inst_12 : AddCommGroup.{u2} M] [_inst_13 : Module.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12)], Eq.{succ u1} 𝕜 (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) => (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) -> 𝕜) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) (LinearMap.det.{u2, u1} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)) _inst_13) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 0 (OfNat.mk.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 0 (Zero.zero.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (LinearMap.hasZero.{u1, u1, u2, u2} 𝕜 𝕜 M M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13 (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11)))))))))) (HPow.hPow.{u1, 0, u1} 𝕜 Nat 𝕜 (instHPow.{u1, 0} 𝕜 Nat (Monoid.Pow.{u1} 𝕜 (Ring.toMonoid.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11)))))))))) (FiniteDimensional.finrank.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) _inst_12 _inst_13))
 but is expected to have type
-  forall {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] {M : Type.{u1}} [_inst_12 : AddCommGroup.{u1} M] [_inst_13 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12)], Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_13) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))))))) (HPow.hPow.{u2, 0, u2} 𝕜 Nat 𝕜 (instHPow.{u2, 0} 𝕜 Nat (Monoid.Pow.{u2} 𝕜 (MonoidWithZero.toMonoid.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))))) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))))) (FiniteDimensional.finrank.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) _inst_12 _inst_13))
+  forall {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] {M : Type.{u1}} [_inst_12 : AddCommGroup.{u1} M] [_inst_13 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12)], Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_13) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))))))) (HPow.hPow.{u2, 0, u2} 𝕜 Nat 𝕜 (instHPow.{u2, 0} 𝕜 Nat (Monoid.Pow.{u2} 𝕜 (MonoidWithZero.toMonoid.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))))) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))))) (FiniteDimensional.finrank.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) _inst_12 _inst_13))
 Case conversion may be inaccurate. Consider using '#align linear_map.det_zero LinearMap.det_zeroₓ'. -/
 /-- In a finite-dimensional vector space, the zero map has determinant `1` in dimension `0`,
 and `0` otherwise. We give a formula that also works in infinite dimension, where we define
@@ -442,7 +442,7 @@ theorem det_zero {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCommGroup M] [Mod
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_11 : Subsingleton.{succ u2} M] (f : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3), Eq.{succ u1} R (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) f) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))))))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_11 : Subsingleton.{succ u2} M] (f : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) f) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) 1 (One.toOfNat1.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) (Semiring.toOne.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) _inst_1)))))
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_11 : Subsingleton.{succ u2} M] (f : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) f) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) 1 (One.toOfNat1.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) (Semiring.toOne.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) _inst_1)))))
 Case conversion may be inaccurate. Consider using '#align linear_map.det_eq_one_of_subsingleton LinearMap.det_eq_one_of_subsingletonₓ'. -/
 theorem det_eq_one_of_subsingleton [Subsingleton M] (f : M →ₗ[R] M) : (f : M →ₗ[R] M).det = 1 :=
   by
@@ -455,7 +455,7 @@ theorem det_eq_one_of_subsingleton [Subsingleton M] (f : M →ₗ[R] M) : (f : M
 lean 3 declaration is
   forall {𝕜 : Type.{u1}} [_inst_11 : Field.{u1} 𝕜] {M : Type.{u2}} [_inst_12 : AddCommGroup.{u2} M] [_inst_13 : Module.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12)], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) _inst_12 _inst_13) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (forall (f : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13), Eq.{succ u1} 𝕜 (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) => (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) -> 𝕜) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) (LinearMap.det.{u2, u1} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)) _inst_13) f) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddGroupWithOne.toAddMonoidWithOne.{u1} 𝕜 (AddCommGroupWithOne.toAddGroupWithOne.{u1} 𝕜 (Ring.toAddCommGroupWithOne.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))))))))
 but is expected to have type
-  forall {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] {M : Type.{u1}} [_inst_12 : AddCommGroup.{u1} M] [_inst_13 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12)], (Eq.{1} Nat (FiniteDimensional.finrank.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) _inst_12 _inst_13) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) -> (forall (f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_13) f) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) (Semiring.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) (DivisionSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) (Semifield.toDivisionSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) (Field.toSemifield.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) _inst_11)))))))
+  forall {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] {M : Type.{u1}} [_inst_12 : AddCommGroup.{u1} M] [_inst_13 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12)], (Eq.{1} Nat (FiniteDimensional.finrank.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) _inst_12 _inst_13) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) -> (forall (f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_13) f) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) (Semiring.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) (DivisionSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) (Semifield.toDivisionSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) (Field.toSemifield.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) _inst_11)))))))
 Case conversion may be inaccurate. Consider using '#align linear_map.det_eq_one_of_finrank_eq_zero LinearMap.det_eq_one_of_finrank_eq_zeroₓ'. -/
 theorem det_eq_one_of_finrank_eq_zero {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCommGroup M]
     [Module 𝕜 M] (h : FiniteDimensional.finrank 𝕜 M = 0) (f : M →ₗ[𝕜] M) :
@@ -473,7 +473,7 @@ theorem det_eq_one_of_finrank_eq_zero {𝕜 : Type _} [Field 𝕜] {M : Type _}
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {N : Type.{u3}} [_inst_11 : AddCommGroup.{u3} N] [_inst_12 : Module.{u2, u3} A N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11)] (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (e : LinearEquiv.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12), Eq.{succ u2} A (coeFn.{max (succ u2) (succ u3), max (succ u3) (succ u2)} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.ring.{u2, u3} A N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_11 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.ring.{u2, u3} A N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_11 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) -> A) (MonoidHom.hasCoeToFun.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.ring.{u2, u3} A N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_11 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u3, u2} N _inst_11 A _inst_8 _inst_12) (LinearMap.comp.{u2, u2, u2, u3, u1, u3} A A A N M N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_9 _inst_12 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))) ((fun (a : Sort.{max (succ u1) (succ u3)}) (b : Sort.{max (succ u1) (succ u3)}) [self : HasLiftT.{max (succ u1) (succ u3), max (succ u1) (succ u3)} a b] => self.0) (LinearEquiv.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12) (LinearMap.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12) (HasLiftT.mk.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (LinearEquiv.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12) (LinearMap.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12) (CoeTCₓ.coe.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (LinearEquiv.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12) (LinearMap.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12) (coeBase.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (LinearEquiv.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12) (LinearMap.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u1, u3} A A M N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) e) (LinearMap.comp.{u2, u2, u2, u3, u1, u1} A A A N M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))) f ((fun (a : Sort.{max (succ u3) (succ u1)}) (b : Sort.{max (succ u3) (succ u1)}) [self : HasLiftT.{max (succ u3) (succ u1), max (succ u3) (succ u1)} a b] => self.0) (LinearEquiv.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9) (LinearMap.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9) (HasLiftT.mk.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9) (LinearMap.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9) (CoeTCₓ.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9) (LinearMap.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9) (coeBase.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9) (LinearMap.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u3, u1} A A N M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (LinearEquiv.symm.{u2, u2, u1, u3} A A M N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) e))))) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f)
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {N : Type.{u3}} [_inst_11 : AddCommGroup.{u3} N] [_inst_12 : Module.{u2, u3} A N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11)] (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (e : LinearEquiv.{u2, u2, u1, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) => A) (LinearMap.comp.{u2, u2, u2, u3, u1, u3} A A A N M N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_9 _inst_12 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearEquiv.toLinearMap.{u2, u2, u1, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12 e) (LinearMap.comp.{u2, u2, u2, u3, u1, u1} A A A N M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) f (LinearEquiv.toLinearMap.{u2, u2, u3, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u3} A A M N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) e))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.semiring.{u2, u3} A N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) => A) _x) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.semiring.{u2, u3} A N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.semiring.{u2, u3} A N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.semiring.{u2, u3} A N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.semiring.{u2, u3} A N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.semiring.{u2, u3} A N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u3, u2} N _inst_11 A _inst_8 _inst_12) (LinearMap.comp.{u2, u2, u2, u3, u1, u3} A A A N M N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_9 _inst_12 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearEquiv.toLinearMap.{u2, u2, u1, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12 e) (LinearMap.comp.{u2, u2, u2, u3, u1, u1} A A A N M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) f (LinearEquiv.toLinearMap.{u2, u2, u3, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u3} A A M N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) e))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f)
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {N : Type.{u3}} [_inst_11 : AddCommGroup.{u3} N] [_inst_12 : Module.{u2, u3} A N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11)] (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (e : LinearEquiv.{u2, u2, u1, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) => A) (LinearMap.comp.{u2, u2, u2, u3, u1, u3} A A A N M N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_9 _inst_12 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearEquiv.toLinearMap.{u2, u2, u1, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12 e) (LinearMap.comp.{u2, u2, u2, u3, u1, u1} A A A N M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) f (LinearEquiv.toLinearMap.{u2, u2, u3, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u3} A A M N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) e))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.semiring.{u2, u3} A N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) => A) _x) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.semiring.{u2, u3} A N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.semiring.{u2, u3} A N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.semiring.{u2, u3} A N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.semiring.{u2, u3} A N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.semiring.{u2, u3} A N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u3, u2} N _inst_11 A _inst_8 _inst_12) (LinearMap.comp.{u2, u2, u2, u3, u1, u3} A A A N M N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_9 _inst_12 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearEquiv.toLinearMap.{u2, u2, u1, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12 e) (LinearMap.comp.{u2, u2, u2, u3, u1, u1} A A A N M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) f (LinearEquiv.toLinearMap.{u2, u2, u3, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u3} A A M N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) e))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f)
 Case conversion may be inaccurate. Consider using '#align linear_map.det_conj LinearMap.det_conjₓ'. -/
 /-- Conjugating a linear map by a linear equiv does not change its determinant. -/
 @[simp]
@@ -502,7 +502,7 @@ theorem det_conj {N : Type _} [AddCommGroup N] [Module A N] (f : M →ₗ[A] M)
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_11 : CommRing.{u2} A] [_inst_12 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12), (IsUnit.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.monoid.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) f) -> (IsUnit.{u2} A (Ring.toMonoid.{u2} A (CommRing.toRing.{u2} A _inst_11)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_11 _inst_12) f))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_11 : CommRing.{u2} A] [_inst_12 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12), (IsUnit.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.monoid.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) f) -> (IsUnit.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) f) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) f) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) f) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) f) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) f) _inst_11)))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_11 _inst_12) f))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_11 : CommRing.{u2} A] [_inst_12 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12), (IsUnit.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.monoid.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) f) -> (IsUnit.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) f) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) f) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) f) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) f) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) f) _inst_11)))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_11 _inst_12) f))
 Case conversion may be inaccurate. Consider using '#align linear_map.is_unit_det LinearMap.isUnit_detₓ'. -/
 /-- If a linear map is invertible, so is its determinant. -/
 theorem isUnit_det {A : Type _} [CommRing A] [Module A M] (f : M →ₗ[A] M) (hf : IsUnit f) :
@@ -517,7 +517,7 @@ theorem isUnit_det {A : Type _} [CommRing A] [Module A M] (f : M →ₗ[A] M) (h
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12), (Ne.{succ u2} 𝕜 (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) => (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) -> 𝕜) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} 𝕜 1 (OfNat.mk.{u2} 𝕜 1 (One.one.{u2} 𝕜 (AddMonoidWithOne.toOne.{u2} 𝕜 (AddGroupWithOne.toAddMonoidWithOne.{u2} 𝕜 (AddCommGroupWithOne.toAddGroupWithOne.{u2} 𝕜 (Ring.toAddCommGroupWithOne.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11)))))))))) -> (FiniteDimensional.{u2, u1} 𝕜 M (Field.toDivisionRing.{u2} 𝕜 _inst_11) _inst_2 _inst_12)
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12), (Ne.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Semiring.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (DivisionSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Semifield.toDivisionSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Field.toSemifield.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) _inst_11))))))) -> (FiniteDimensional.{u2, u1} 𝕜 M (Field.toDivisionRing.{u2} 𝕜 _inst_11) _inst_2 _inst_12)
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12), (Ne.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Semiring.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (DivisionSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Semifield.toDivisionSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Field.toSemifield.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) _inst_11))))))) -> (FiniteDimensional.{u2, u1} 𝕜 M (Field.toDivisionRing.{u2} 𝕜 _inst_11) _inst_2 _inst_12)
 Case conversion may be inaccurate. Consider using '#align linear_map.finite_dimensional_of_det_ne_one LinearMap.finiteDimensional_of_det_ne_oneₓ'. -/
 /-- If a linear map has determinant different from `1`, then the space is finite-dimensional. -/
 theorem finiteDimensional_of_det_ne_one {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] (f : M →ₗ[𝕜] M)
@@ -536,7 +536,7 @@ theorem finiteDimensional_of_det_ne_one {𝕜 : Type _} [Field 𝕜] [Module 
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12}, (Eq.{succ u2} 𝕜 (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) => (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) -> 𝕜) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))))))))) -> (LT.lt.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Preorder.toHasLt.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.completeLattice.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (LinearMap.range.{u2, u2, u1, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (LinearMap.semilinearMapClass.{u2, u2, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11)))))) (RingHomSurjective.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11)))) f) (Top.top.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.hasTop.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12}, (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommGroupWithZero.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Semifield.toCommGroupWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Field.toSemifield.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) _inst_11))))))) -> (LT.lt.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Preorder.toLT.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.completeLattice.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (LinearMap.range.{u2, u2, u1, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (LinearMap.semilinearMapClass.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))))) (RingHomSurjective.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))) f) (Top.top.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.instTopSubmodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12}, (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommGroupWithZero.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Semifield.toCommGroupWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Field.toSemifield.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) _inst_11))))))) -> (LT.lt.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Preorder.toLT.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.completeLattice.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (LinearMap.range.{u2, u2, u1, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (LinearMap.semilinearMapClass.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))))) (RingHomSurjective.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))) f) (Top.top.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.instTopSubmodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))
 Case conversion may be inaccurate. Consider using '#align linear_map.range_lt_top_of_det_eq_zero LinearMap.range_lt_top_of_det_eq_zeroₓ'. -/
 /-- If the determinant of a map vanishes, then the map is not onto. -/
 theorem range_lt_top_of_det_eq_zero {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] {f : M →ₗ[𝕜] M}
@@ -552,7 +552,7 @@ theorem range_lt_top_of_det_eq_zero {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M]
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12}, (Eq.{succ u2} 𝕜 (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) => (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) -> 𝕜) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))))))))) -> (LT.lt.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Preorder.toHasLt.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.completeLattice.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (Bot.bot.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.hasBot.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)) (LinearMap.ker.{u2, u2, u1, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (LinearMap.semilinearMapClass.{u2, u2, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11)))))) f))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12}, (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommGroupWithZero.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Semifield.toCommGroupWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Field.toSemifield.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) _inst_11))))))) -> (LT.lt.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Preorder.toLT.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.completeLattice.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (Bot.bot.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.instBotSubmodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)) (LinearMap.ker.{u2, u2, u1, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (LinearMap.semilinearMapClass.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))))) f))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12}, (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommGroupWithZero.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Semifield.toCommGroupWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Field.toSemifield.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) _inst_11))))))) -> (LT.lt.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Preorder.toLT.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.completeLattice.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (Bot.bot.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.instBotSubmodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)) (LinearMap.ker.{u2, u2, u1, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (LinearMap.semilinearMapClass.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))))) f))
 Case conversion may be inaccurate. Consider using '#align linear_map.bot_lt_ker_of_det_eq_zero LinearMap.bot_lt_ker_of_det_eq_zeroₓ'. -/
 /-- If the determinant of a map vanishes, then the map is not injective. -/
 theorem bot_lt_ker_of_det_eq_zero {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] {f : M →ₗ[𝕜] M}
@@ -584,7 +584,7 @@ protected def det : (M ≃ₗ[R] M) →* Rˣ :=
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (f : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3), Eq.{succ u1} R ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (HasLiftT.mk.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (CoeTCₓ.coe.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (coeBase.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Units.hasCoe.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) f)) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (HasLiftT.mk.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (CoeTCₓ.coe.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (coeBase.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) f))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 f)) (Units.val.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 f))
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 f)) (Units.val.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 f))
 Case conversion may be inaccurate. Consider using '#align linear_equiv.coe_det LinearEquiv.coe_detₓ'. -/
 @[simp]
 theorem coe_det (f : M ≃ₗ[R] M) : ↑f.det = LinearMap.det (f : M →ₗ[R] M) :=
@@ -595,7 +595,7 @@ theorem coe_det (f : M ≃ₗ[R] M) : ↑f.det = LinearMap.det (f : M →ₗ[R]
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (f : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3), Eq.{succ u1} R ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (HasLiftT.mk.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (CoeTCₓ.coe.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (coeBase.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Units.hasCoe.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Inv.inv.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.hasInv.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) f))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (HasLiftT.mk.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (CoeTCₓ.coe.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (coeBase.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (LinearEquiv.symm.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f)))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (LinearEquiv.symm.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) f))) (Units.val.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f) (Units.instInv.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) f))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (LinearEquiv.symm.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) f)))
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (LinearEquiv.symm.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) f))) (Units.val.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f) (Units.instInv.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) f))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (LinearEquiv.symm.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) f)))
 Case conversion may be inaccurate. Consider using '#align linear_equiv.coe_inv_det LinearEquiv.coe_inv_detₓ'. -/
 @[simp]
 theorem coe_inv_det (f : M ≃ₗ[R] M) : ↑f.det⁻¹ = LinearMap.det (f.symm : M →ₗ[R] M) :=
@@ -606,7 +606,7 @@ theorem coe_inv_det (f : M ≃ₗ[R] M) : ↑f.det⁻¹ = LinearMap.det (f.symm
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)], Eq.{succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) (LinearEquiv.refl.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (OfNat.ofNat.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) 1 (OfNat.mk.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) 1 (One.one.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulOneClass.toHasOne.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)], Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (InvOneClass.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (DivisionCommMonoid.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (CommGroup.toDivisionCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (Units.instCommGroupUnitsToMonoid.{u2} R (CommRing.toCommMonoid.{u2} R _inst_1)))))))))
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)], Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (InvOneClass.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (DivisionCommMonoid.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (CommGroup.toDivisionCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (Units.instCommGroupUnitsToMonoid.{u2} R (CommRing.toCommMonoid.{u2} R _inst_1)))))))))
 Case conversion may be inaccurate. Consider using '#align linear_equiv.det_refl LinearEquiv.det_reflₓ'. -/
 @[simp]
 theorem det_refl : (LinearEquiv.refl R M).det = 1 :=
@@ -617,7 +617,7 @@ theorem det_refl : (LinearEquiv.refl R M).det = 1 :=
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (f : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (g : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3), Eq.{succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) (LinearEquiv.trans.{u1, u1, u1, u2, u2, u2} R R R M M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomCompTriple.right_ids.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (RingHomCompTriple.right_ids.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (LinearEquiv.det._proof_2.{u1} R _inst_1) f g)) (HMul.hMul.{u1, u1, u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (instHMul.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulOneClass.toHasMul.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) g) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) f))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (g : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.trans.{u2, u2, u2, u1, u1, u1} R R R M M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) f g)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) (LinearEquiv.trans.{u2, u2, u2, u1, u1, u1} R R R M M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) f g)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) g) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) g) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) g) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) f))
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (g : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.trans.{u2, u2, u2, u1, u1, u1} R R R M M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) f g)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) (LinearEquiv.trans.{u2, u2, u2, u1, u1, u1} R R R M M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) f g)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) g) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) g) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) g) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) f))
 Case conversion may be inaccurate. Consider using '#align linear_equiv.det_trans LinearEquiv.det_transₓ'. -/
 @[simp]
 theorem det_trans (f g : M ≃ₗ[R] M) : (f.trans g).det = g.det * f.det :=
@@ -628,7 +628,7 @@ theorem det_trans (f g : M ≃ₗ[R] M) : (f.trans g).det = g.det * f.det :=
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (f : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3), Eq.{succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) (LinearEquiv.symm.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f)) (Inv.inv.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.hasInv.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) f))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.symm.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) f)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) (LinearEquiv.symm.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) f)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (a : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) a) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) (Inv.inv.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (InvOneClass.toInv.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvOneMonoid.toInvOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivisionMonoid.toDivInvOneMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivisionMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) f))
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.symm.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) f)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) (LinearEquiv.symm.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) f)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (a : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) a) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) (Inv.inv.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (InvOneClass.toInv.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvOneMonoid.toInvOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivisionMonoid.toDivInvOneMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivisionMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) f))
 Case conversion may be inaccurate. Consider using '#align linear_equiv.det_symm LinearEquiv.det_symmₓ'. -/
 @[simp]
 theorem det_symm (f : M ≃ₗ[R] M) : f.symm.det = f.det⁻¹ :=
@@ -639,7 +639,7 @@ theorem det_symm (f : M ≃ₗ[R] M) : f.symm.det = f.det⁻¹ :=
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] (f : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (e : LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5), Eq.{succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (coeFn.{max (succ u1) (succ u3), max (succ u3) (succ u1)} (MonoidHom.{u3, u1} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u3, u1} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u3, u1} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u3} R _inst_1 M' _inst_4 _inst_5) (LinearEquiv.trans.{u1, u1, u1, u3, u2, u3} R R R M' M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomCompTriple.right_ids.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (RingHomCompTriple.right_ids.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (LinearEquiv.det._proof_2.{u1} R _inst_1) (LinearEquiv.trans.{u1, u1, u1, u3, u2, u2} R R R M' M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomCompTriple.right_ids.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (RingHomCompTriple.right_ids.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (LinearEquiv.symm.{u1, u1, u2, u3} R R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) e) f) e)) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) f)
 but is expected to have type
-  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u1}} [_inst_4 : AddCommGroup.{u1} M'] [_inst_5 : Module.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4)] (f : LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (e : LinearEquiv.{u3, u3, u2, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) => Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (LinearEquiv.trans.{u3, u3, u3, u1, u2, u1} R R R M' M M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomCompTriple.ids.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (RingHomCompTriple.ids.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (LinearEquiv.trans.{u3, u3, u3, u1, u2, u2} R R R M' M M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomCompTriple.ids.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (RingHomCompTriple.ids.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (LinearEquiv.symm.{u3, u3, u2, u1} R R M M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) e) f) e)) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (fun (_x : LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) => Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5))))) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u3} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (LinearEquiv.det.{u3, u1} R _inst_1 M' _inst_4 _inst_5) (LinearEquiv.trans.{u3, u3, u3, u1, u2, u1} R R R M' M M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomCompTriple.ids.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (RingHomCompTriple.ids.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (LinearEquiv.trans.{u3, u3, u3, u1, u2, u2} R R R M' M M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomCompTriple.ids.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (RingHomCompTriple.ids.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (LinearEquiv.symm.{u3, u3, u2, u1} R R M M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) e) f) e)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (MonoidHom.{u2, u3} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (MulOneClass.toMul.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (MonoidHom.monoidHomClass.{u2, u3} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (LinearEquiv.det.{u3, u2} R _inst_1 M _inst_2 _inst_3) f)
+  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u1}} [_inst_4 : AddCommGroup.{u1} M'] [_inst_5 : Module.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4)] (f : LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (e : LinearEquiv.{u3, u3, u2, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) => Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (LinearEquiv.trans.{u3, u3, u3, u1, u2, u1} R R R M' M M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomCompTriple.ids.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (RingHomCompTriple.ids.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (LinearEquiv.trans.{u3, u3, u3, u1, u2, u2} R R R M' M M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomCompTriple.ids.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (RingHomCompTriple.ids.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (LinearEquiv.symm.{u3, u3, u2, u1} R R M M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) e) f) e)) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (fun (_x : LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) => Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5))))) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u3} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (LinearEquiv.det.{u3, u1} R _inst_1 M' _inst_4 _inst_5) (LinearEquiv.trans.{u3, u3, u3, u1, u2, u1} R R R M' M M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomCompTriple.ids.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (RingHomCompTriple.ids.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (LinearEquiv.trans.{u3, u3, u3, u1, u2, u2} R R R M' M M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomCompTriple.ids.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (RingHomCompTriple.ids.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (LinearEquiv.symm.{u3, u3, u2, u1} R R M M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) e) f) e)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (MonoidHom.{u2, u3} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (MulOneClass.toMul.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (MonoidHom.monoidHomClass.{u2, u3} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (LinearEquiv.det.{u3, u2} R _inst_1 M _inst_2 _inst_3) f)
 Case conversion may be inaccurate. Consider using '#align linear_equiv.det_conj LinearEquiv.det_conjₓ'. -/
 /-- Conjugating a linear equiv by a linear equiv does not change its determinant. -/
 @[simp]
@@ -653,7 +653,7 @@ end LinearEquiv
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} A (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (HasLiftT.mk.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CoeTCₓ.coe.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (coeBase.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) f)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (HasLiftT.mk.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CoeTCₓ.coe.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (coeBase.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f)))) (OfNat.ofNat.{u2} A 1 (OfNat.mk.{u2} A 1 (One.one.{u2} A (AddMonoidWithOne.toOne.{u2} A (AddGroupWithOne.toAddMonoidWithOne.{u2} A (AddCommGroupWithOne.toAddGroupWithOne.{u2} A (Ring.toAddCommGroupWithOne.{u2} A (CommRing.toRing.{u2} A _inst_8))))))))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f)))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (Semiring.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) _inst_8)))))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f)))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (Semiring.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) _inst_8)))))
 Case conversion may be inaccurate. Consider using '#align linear_equiv.det_mul_det_symm LinearEquiv.det_mul_det_symmₓ'. -/
 /-- The determinants of a `linear_equiv` and its inverse multiply to 1. -/
 @[simp]
@@ -665,7 +665,7 @@ theorem LinearEquiv.det_mul_det_symm {A : Type _} [CommRing A] [Module A M] (f :
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} A (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (HasLiftT.mk.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CoeTCₓ.coe.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (coeBase.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f))) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (HasLiftT.mk.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CoeTCₓ.coe.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (coeBase.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) f))) (OfNat.ofNat.{u2} A 1 (OfNat.mk.{u2} A 1 (One.one.{u2} A (AddMonoidWithOne.toOne.{u2} A (AddGroupWithOne.toAddMonoidWithOne.{u2} A (AddCommGroupWithOne.toAddGroupWithOne.{u2} A (Ring.toAddCommGroupWithOne.{u2} A (CommRing.toRing.{u2} A _inst_8))))))))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (Semiring.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) _inst_8)))))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (Semiring.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) _inst_8)))))
 Case conversion may be inaccurate. Consider using '#align linear_equiv.det_symm_mul_det LinearEquiv.det_symm_mul_detₓ'. -/
 /-- The determinants of a `linear_equiv` and its inverse multiply to 1. -/
 @[simp]
@@ -691,7 +691,7 @@ theorem LinearEquiv.isUnit_det (f : M ≃ₗ[R] M') (v : Basis ι R M) (v' : Bas
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), IsUnit.{u2} A (Ring.toMonoid.{u2} A (CommRing.toRing.{u2} A _inst_8)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (HasLiftT.mk.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CoeTCₓ.coe.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (coeBase.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) f))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), IsUnit.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) _inst_8)))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), IsUnit.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) _inst_8)))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f))
 Case conversion may be inaccurate. Consider using '#align linear_equiv.is_unit_det' LinearEquiv.isUnit_det'ₓ'. -/
 /-- Specialization of `linear_equiv.is_unit_det` -/
 theorem LinearEquiv.isUnit_det' {A : Type _} [CommRing A] [Module A M] (f : M ≃ₗ[A] M) :
@@ -703,7 +703,7 @@ theorem LinearEquiv.isUnit_det' {A : Type _} [CommRing A] [Module A M] (f : M 
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_8 : Field.{u2} 𝕜] [_inst_9 : Module.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} 𝕜 (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) => (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> 𝕜) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)) _inst_9) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (HasLiftT.mk.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CoeTCₓ.coe.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (coeBase.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))))))) (LinearEquiv.symm.{u2, u2, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) f))) (Inv.inv.{u2} 𝕜 (DivInvMonoid.toHasInv.{u2} 𝕜 (DivisionRing.toDivInvMonoid.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) => (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> 𝕜) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)) _inst_9) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (HasLiftT.mk.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CoeTCₓ.coe.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (coeBase.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))))))) f)))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_8 : Field.{u2} 𝕜] [_inst_9 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => 𝕜) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) f))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)) _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) f))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => 𝕜) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (Field.toInv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => 𝕜) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) _inst_8) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)) _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_8 : Field.{u2} 𝕜] [_inst_9 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => 𝕜) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) f))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)) _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) f))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => 𝕜) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (Field.toInv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => 𝕜) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) _inst_8) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)) _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)))
 Case conversion may be inaccurate. Consider using '#align linear_equiv.det_coe_symm LinearEquiv.det_coe_symmₓ'. -/
 /-- The determinant of `f.symm` is the inverse of that of `f` when `f` is a linear equiv. -/
 theorem LinearEquiv.det_coe_symm {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] (f : M ≃ₗ[𝕜] M) :
@@ -759,7 +759,7 @@ theorem LinearEquiv.coe_ofIsUnitDet {f : M →ₗ[R] M'} {v : Basis ι R M} {v'
 lean 3 declaration is
   forall {𝕜 : Type.{u1}} [_inst_8 : Field.{u1} 𝕜] {M : Type.{u2}} [_inst_9 : AddCommGroup.{u2} M] [_inst_10 : Module.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9)] [_inst_11 : FiniteDimensional.{u1, u2} 𝕜 M (Field.toDivisionRing.{u1} 𝕜 _inst_8) _inst_9 _inst_10] (f : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))) (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10), (Ne.{succ u1} 𝕜 (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) _inst_9 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) _inst_9 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) => (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) -> 𝕜) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) _inst_9 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) (LinearMap.det.{u2, u1} M _inst_9 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)) _inst_10) f) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))))))))))) -> (LinearEquiv.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))) (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))))) (LinearMap.equivOfDetNeZero._proof_1.{u1} 𝕜 _inst_8) (LinearMap.equivOfDetNeZero._proof_2.{u1} 𝕜 _inst_8) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10)
 but is expected to have type
-  forall {𝕜 : Type.{u1}} [_inst_8 : Field.{u1} 𝕜] {M : Type.{u2}} [_inst_9 : AddCommGroup.{u2} M] [_inst_10 : Module.{u1, u2} 𝕜 M (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9)] [_inst_11 : FiniteDimensional.{u1, u2} 𝕜 M (Field.toDivisionRing.{u1} 𝕜 _inst_8) _inst_9 _inst_10] (f : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10), (Ne.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.semiring.{u1, u2} 𝕜 M (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (fun (_x : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.semiring.{u1, u2} 𝕜 M (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.semiring.{u1, u2} 𝕜 M (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10))))) (MulOneClass.toMul.{u1} 𝕜 (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.semiring.{u1, u2} 𝕜 M (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.semiring.{u1, u2} 𝕜 M (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8))))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.semiring.{u1, u2} 𝕜 M (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))))) (LinearMap.det.{u2, u1} M _inst_9 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)) _inst_10) f) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) (CommMonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) (CommGroupWithZero.toCommMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) (Semifield.toCommGroupWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) (Field.toSemifield.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) _inst_8))))))) -> (LinearEquiv.{u1, u1, u2, u2} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10)
+  forall {𝕜 : Type.{u1}} [_inst_8 : Field.{u1} 𝕜] {M : Type.{u2}} [_inst_9 : AddCommGroup.{u2} M] [_inst_10 : Module.{u1, u2} 𝕜 M (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9)] [_inst_11 : FiniteDimensional.{u1, u2} 𝕜 M (Field.toDivisionRing.{u1} 𝕜 _inst_8) _inst_9 _inst_10] (f : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10), (Ne.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.semiring.{u1, u2} 𝕜 M (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (fun (_x : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.semiring.{u1, u2} 𝕜 M (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.semiring.{u1, u2} 𝕜 M (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10))))) (MulOneClass.toMul.{u1} 𝕜 (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.semiring.{u1, u2} 𝕜 M (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.semiring.{u1, u2} 𝕜 M (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8))))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.semiring.{u1, u2} 𝕜 M (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))))) (LinearMap.det.{u2, u1} M _inst_9 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)) _inst_10) f) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) (CommMonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) (CommGroupWithZero.toCommMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) (Semifield.toCommGroupWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) (Field.toSemifield.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) _inst_8))))))) -> (LinearEquiv.{u1, u1, u2, u2} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10)
 Case conversion may be inaccurate. Consider using '#align linear_map.equiv_of_det_ne_zero LinearMap.equivOfDetNeZeroₓ'. -/
 /-- Builds a linear equivalence from a linear map on a finite-dimensional vector space whose
 determinant is nonzero. -/
@@ -778,7 +778,7 @@ def LinearMap.equivOfDetNeZero {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCom
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (e : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (f : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (f' : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3), (forall (x : M), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f x) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f' (coeFn.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => M -> M) (LinearEquiv.hasCoeToFun.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) e x))) -> (Associated.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) f) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) f'))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (e : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (f : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (f' : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3), (forall (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) x) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f x) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f' (FunLike.coe.{succ u1, succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => M) _x) (SMulHomClass.toFunLike.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R M M (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (Module.toDistribMulAction.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (Module.toDistribMulAction.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R M M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (Module.toDistribMulAction.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Module.toDistribMulAction.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, u1, u1} R M M (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, u1, u1} R R M M (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) e x))) -> (Associated.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) _inst_1)))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) f'))
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (e : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (f : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (f' : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3), (forall (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) x) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f x) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f' (FunLike.coe.{succ u1, succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => M) _x) (SMulHomClass.toFunLike.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R M M (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (Module.toDistribMulAction.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (Module.toDistribMulAction.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R M M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (Module.toDistribMulAction.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Module.toDistribMulAction.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, u1, u1} R M M (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, u1, u1} R R M M (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) e x))) -> (Associated.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) _inst_1)))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) f'))
 Case conversion may be inaccurate. Consider using '#align linear_map.associated_det_of_eq_comp LinearMap.associated_det_of_eq_compₓ'. -/
 theorem LinearMap.associated_det_of_eq_comp (e : M ≃ₗ[R] M) (f f' : M →ₗ[R] M)
     (h : ∀ x, f x = f' (e x)) : Associated f.det f'.det :=
@@ -796,7 +796,7 @@ theorem LinearMap.associated_det_of_eq_comp (e : M ≃ₗ[R] M) (f f' : M →ₗ
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {N : Type.{u3}} [_inst_8 : AddCommGroup.{u3} N] [_inst_9 : Module.{u1, u3} R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8)] (f : LinearMap.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_3) (e : LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (e' : LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9), Associated.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) (LinearMap.comp.{u1, u1, u1, u2, u3, u2} R R R M N M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomCompTriple.ids.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (coeBase.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u2, u3} R R M N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) e))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) (LinearMap.comp.{u1, u1, u1, u2, u3, u2} R R R M N M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomCompTriple.ids.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (coeBase.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u2, u3} R R M N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) e')))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {N : Type.{u3}} [_inst_8 : AddCommGroup.{u3} N] [_inst_9 : Module.{u2, u3} R N (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8)] (f : LinearMap.{u2, u2, u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_3) (e : LinearEquiv.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (e' : LinearEquiv.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9), Associated.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) _inst_1)))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e')))
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {N : Type.{u3}} [_inst_8 : AddCommGroup.{u3} N] [_inst_9 : Module.{u2, u3} R N (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8)] (f : LinearMap.{u2, u2, u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_3) (e : LinearEquiv.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (e' : LinearEquiv.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9), Associated.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) _inst_1)))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e')))
 Case conversion may be inaccurate. Consider using '#align linear_map.associated_det_comp_equiv LinearMap.associated_det_comp_equivₓ'. -/
 theorem LinearMap.associated_det_comp_equiv {N : Type _} [AddCommGroup N] [Module R N]
     (f : N →ₗ[R] M) (e e' : M ≃ₗ[R] N) : Associated (f ∘ₗ ↑e).det (f ∘ₗ ↑e').det :=
@@ -958,7 +958,7 @@ variable {A : Type _} [CommRing A] [Module A M]
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Module.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (e : Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (v : ι -> M), Eq.{succ u3} A (coeFn.{max (succ u1) (succ u3) (succ u2), max (max (succ u2) (succ u1)) (succ u3)} (AlternatingMap.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) (fun (_x : AlternatingMap.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) => (ι -> M) -> A) (AlternatingMap.coeFun.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) (Basis.det.{u3, u1, u2} A _inst_8 M _inst_2 _inst_9 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (Function.comp.{succ u2, succ u1, succ u1} ι M M (coeFn.{succ u1, succ u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => M -> M) (LinearMap.hasCoeToFun.{u3, u3, u1, u1} A A M M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))))) f) v)) (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (Ring.toDistrib.{u3} A (CommRing.toRing.{u3} A _inst_8)))) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.det.{u1, u3} M _inst_2 A _inst_8 _inst_9) f) (coeFn.{max (succ u1) (succ u3) (succ u2), max (max (succ u2) (succ u1)) (succ u3)} (AlternatingMap.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) (fun (_x : AlternatingMap.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) => (ι -> M) -> A) (AlternatingMap.coeFun.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) (Basis.det.{u3, u1, u2} A _inst_8 M _inst_2 _inst_9 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (e : Basis.{u3, u2, u1} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (v : ι -> M), Eq.{succ u2} A (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) ι) (ι -> M) (fun (_x : ι -> M) => A) (AlternatingMap.funLike.{u2, u1, u2, u3} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) ι) (Basis.det.{u2, u1, u3} A _inst_8 M _inst_2 _inst_9 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (Function.comp.{succ u3, succ u1, succ u1} ι M M (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) f) v)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) A ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) ι) (ι -> M) (fun (_x : ι -> M) => A) (AlternatingMap.funLike.{u2, u1, u2, u3} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) ι) (Basis.det.{u2, u1, u3} A _inst_8 M _inst_2 _inst_9 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (e : Basis.{u3, u2, u1} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (v : ι -> M), Eq.{succ u2} A (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) ι) (ι -> M) (fun (_x : ι -> M) => A) (AlternatingMap.funLike.{u2, u1, u2, u3} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) ι) (Basis.det.{u2, u1, u3} A _inst_8 M _inst_2 _inst_9 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (Function.comp.{succ u3, succ u1, succ u1} ι M M (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) f) v)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) A ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) ι) (ι -> M) (fun (_x : ι -> M) => A) (AlternatingMap.funLike.{u2, u1, u2, u3} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) ι) (Basis.det.{u2, u1, u3} A _inst_8 M _inst_2 _inst_9 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v))
 Case conversion may be inaccurate. Consider using '#align basis.det_comp Basis.det_compₓ'. -/
 @[simp]
 theorem Basis.det_comp (e : Basis ι A M) (f : M →ₗ[A] M) (v : ι → M) :
@@ -972,7 +972,7 @@ theorem Basis.det_comp (e : Basis ι A M) (f : M →ₗ[A] M) (v : ι → M) :
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {M' : Type.{u2}} [_inst_4 : AddCommGroup.{u2} M'] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u4}} [_inst_8 : CommRing.{u4} A] [_inst_9 : Module.{u4, u1} A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] [_inst_10 : Module.{u4, u2} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4)] (b : Basis.{u3, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (b' : Basis.{u3, u4, u2} ι A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10) (f : LinearMap.{u4, u4, u1, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_9 _inst_10), Eq.{succ u4} A (coeFn.{max (succ u2) (succ u4) (succ u3), max (max (succ u3) (succ u2)) (succ u4)} (AlternatingMap.{u4, u2, u4, u3} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 A (AddCommGroup.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toAddCommGroup.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) ι) (fun (_x : AlternatingMap.{u4, u2, u4, u3} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 A (AddCommGroup.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toAddCommGroup.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) ι) => (ι -> M') -> A) (AlternatingMap.coeFun.{u4, u2, u4, u3} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 A (AddCommGroup.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toAddCommGroup.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) ι) (Basis.det.{u4, u2, u3} A _inst_8 M' _inst_4 _inst_10 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b') (Function.comp.{succ u3, succ u1, succ u2} ι M M' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u4, u4, u1, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_9 _inst_10) (fun (_x : LinearMap.{u4, u4, u1, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_9 _inst_10) => M -> M') (LinearMap.hasCoeToFun.{u4, u4, u1, u2} A A M M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_9 _inst_10 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))))) f) (coeFn.{max (succ u3) (succ u4) (succ u1), max (succ u3) (succ u1)} (Basis.{u3, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (fun (_x : Basis.{u3, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) => ι -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u4) (succ u1), succ u3, succ u1} (Basis.{u3, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) ι (fun (_x : ι) => M) (Basis.funLike.{u3, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) b))) (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Module.End.ring.{u4, u2} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) _inst_4 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))))) (fun (_x : MonoidHom.{u2, u4} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Module.End.ring.{u4, u2} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) _inst_4 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))))) => (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) -> A) (MonoidHom.hasCoeToFun.{u2, u4} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Module.End.ring.{u4, u2} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) _inst_4 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))))) (LinearMap.det.{u2, u4} M' _inst_4 A _inst_8 _inst_10) (LinearMap.comp.{u4, u4, u4, u2, u1, u2} A A A M' M M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_9 _inst_10 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomCompTriple.ids.{u4, u4} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))))) f ((fun (a : Sort.{max (succ u2) (succ u1)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u2) (succ u1), max (succ u2) (succ u1)} a b] => self.0) (LinearEquiv.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (LinearMap.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (HasLiftT.mk.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (LinearMap.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (CoeTCₓ.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (LinearMap.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (coeBase.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (LinearMap.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u4, u4, u2, u1} A A M' M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))))))) (Basis.equiv.{u3, u3, u4, u2, u1} ι ι A M' M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 b' b (Equiv.refl.{succ u3} ι)))))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u4}} [_inst_8 : CommRing.{u4} A] [_inst_9 : Module.{u4, u1} A M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] [_inst_10 : Module.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] (b : Basis.{u2, u4, u1} ι A M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (b' : Basis.{u2, u4, u3} ι A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10) (f : LinearMap.{u4, u4, u1, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_9 _inst_10), Eq.{succ u4} A (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u2), succ u4} (AlternatingMap.{u4, u3, u4, u2} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))) ι) (ι -> M') (fun (_x : ι -> M') => A) (AlternatingMap.funLike.{u4, u3, u4, u2} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))) ι) (Basis.det.{u4, u3, u2} A _inst_8 M' _inst_4 _inst_10 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b') (Function.comp.{succ u2, succ u1, succ u3} ι M M' (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u4, u4, u1, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_9 _inst_10) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u1, u3} A A M M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_9 _inst_10 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))))) f) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), succ u2, succ u1} (Basis.{u2, u4, u1} ι A M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u2, u4, u1} ι A M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) b))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))) (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (fun (_x : LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) => A) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))) (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulOneClass.toMul.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10))))) (MulOneClass.toMul.{u4} A (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))) (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))))) (LinearMap.det.{u3, u4} M' _inst_4 A _inst_8 _inst_10) (LinearMap.comp.{u4, u4, u4, u3, u1, u3} A A A M' M M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_9 _inst_10 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHomCompTriple.ids.{u4, u4} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))))) f (LinearEquiv.toLinearMap.{u4, u4, u3, u1} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9 (Basis.equiv.{u2, u2, u4, u3, u1} ι ι A M' M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 b' b (Equiv.refl.{succ u2} ι)))))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u4}} [_inst_8 : CommRing.{u4} A] [_inst_9 : Module.{u4, u1} A M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] [_inst_10 : Module.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] (b : Basis.{u2, u4, u1} ι A M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (b' : Basis.{u2, u4, u3} ι A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10) (f : LinearMap.{u4, u4, u1, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_9 _inst_10), Eq.{succ u4} A (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u2), succ u4} (AlternatingMap.{u4, u3, u4, u2} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))) ι) (ι -> M') (fun (_x : ι -> M') => A) (AlternatingMap.funLike.{u4, u3, u4, u2} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))) ι) (Basis.det.{u4, u3, u2} A _inst_8 M' _inst_4 _inst_10 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b') (Function.comp.{succ u2, succ u1, succ u3} ι M M' (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u4, u4, u1, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_9 _inst_10) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u1, u3} A A M M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_9 _inst_10 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))))) f) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), succ u2, succ u1} (Basis.{u2, u4, u1} ι A M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u2, u4, u1} ι A M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) b))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))) (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (fun (_x : LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) => A) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))) (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulOneClass.toMul.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10))))) (MulOneClass.toMul.{u4} A (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))) (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))))) (LinearMap.det.{u3, u4} M' _inst_4 A _inst_8 _inst_10) (LinearMap.comp.{u4, u4, u4, u3, u1, u3} A A A M' M M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_9 _inst_10 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHomCompTriple.ids.{u4, u4} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))))) f (LinearEquiv.toLinearMap.{u4, u4, u3, u1} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9 (Basis.equiv.{u2, u2, u4, u3, u1} ι ι A M' M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 b' b (Equiv.refl.{succ u2} ι)))))
 Case conversion may be inaccurate. Consider using '#align basis.det_comp_basis Basis.det_comp_basisₓ'. -/
 @[simp]
 theorem Basis.det_comp_basis [Module A M'] (b : Basis ι A M) (b' : Basis ι A M') (f : M →ₗ[A] M') :
@@ -988,7 +988,7 @@ theorem Basis.det_comp_basis [Module A M'] (b : Basis ι A M) (b' : Basis ι A M
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {ι' : Type.{u4}} [_inst_10 : Fintype.{u4} ι'] [_inst_11 : DecidableEq.{succ u4} ι'] (b : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (v : ι' -> M) (e : Equiv.{succ u3, succ u4} ι ι'), Eq.{succ u1} R (coeFn.{max (succ u2) (succ u1) (succ u4), max (max (succ u4) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι') (fun (_x : AlternatingMap.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι') => (ι' -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι') (Basis.det.{u1, u2, u4} R _inst_1 M _inst_2 _inst_3 ι' (fun (a : ι') (b : ι') => _inst_11 a b) _inst_10 (Basis.reindex.{u3, u4, u1, u2} ι ι' R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 b e)) v) (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) (Function.comp.{succ u3, succ u4, succ u2} ι ι' M v (coeFn.{max 1 (max (succ u3) (succ u4)) (succ u4) (succ u3), max (succ u3) (succ u4)} (Equiv.{succ u3, succ u4} ι ι') (fun (_x : Equiv.{succ u3, succ u4} ι ι') => ι -> ι') (Equiv.hasCoeToFun.{succ u3, succ u4} ι ι') e)))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {ι' : Type.{u4}} [_inst_10 : Fintype.{u4} ι'] [_inst_11 : DecidableEq.{succ u4} ι'] (b : Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (v : ι' -> M) (e : Equiv.{succ u3, succ u4} ι ι'), Eq.{succ u2} R (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), max (succ u1) (succ u4), succ u2} (AlternatingMap.{u2, u1, u2, u4} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι') (ι' -> M) (fun (_x : ι' -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u4} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι') (Basis.det.{u2, u1, u4} R _inst_1 M _inst_2 _inst_3 ι' (fun (a : ι') (b : ι') => _inst_11 a b) _inst_10 (Basis.reindex.{u3, u4, u2, u1} ι ι' R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 b e)) v) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) (Function.comp.{succ u3, succ u4, succ u1} ι ι' M v (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (Equiv.{succ u3, succ u4} ι ι') ι (fun (_x : ι) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : ι) => ι') _x) (Equiv.instFunLikeEquiv.{succ u3, succ u4} ι ι') e)))
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {ι' : Type.{u4}} [_inst_10 : Fintype.{u4} ι'] [_inst_11 : DecidableEq.{succ u4} ι'] (b : Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (v : ι' -> M) (e : Equiv.{succ u3, succ u4} ι ι'), Eq.{succ u2} R (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), max (succ u1) (succ u4), succ u2} (AlternatingMap.{u2, u1, u2, u4} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι') (ι' -> M) (fun (_x : ι' -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u4} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι') (Basis.det.{u2, u1, u4} R _inst_1 M _inst_2 _inst_3 ι' (fun (a : ι') (b : ι') => _inst_11 a b) _inst_10 (Basis.reindex.{u3, u4, u2, u1} ι ι' R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 b e)) v) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) (Function.comp.{succ u3, succ u4, succ u1} ι ι' M v (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (Equiv.{succ u3, succ u4} ι ι') ι (fun (_x : ι) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι) => ι') _x) (Equiv.instFunLikeEquiv.{succ u3, succ u4} ι ι') e)))
 Case conversion may be inaccurate. Consider using '#align basis.det_reindex Basis.det_reindexₓ'. -/
 theorem Basis.det_reindex {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (b : Basis ι R M) (v : ι' → M)
     (e : ι ≃ ι') : (b.reindex e).det v = b.det (v ∘ e) := by
@@ -999,7 +999,7 @@ theorem Basis.det_reindex {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (b : Ba
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {ι' : Type.{u4}} [_inst_10 : Fintype.{u4} ι'] [_inst_11 : DecidableEq.{succ u4} ι'] (b : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (v : ι -> M) (e : Equiv.{succ u4, succ u3} ι' ι), Eq.{succ u1} R (coeFn.{max (succ u2) (succ u1) (succ u4), max (max (succ u4) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι') (fun (_x : AlternatingMap.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι') => (ι' -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι') (Basis.det.{u1, u2, u4} R _inst_1 M _inst_2 _inst_3 ι' (fun (a : ι') (b : ι') => _inst_11 a b) _inst_10 (Basis.reindex.{u3, u4, u1, u2} ι ι' R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 b (Equiv.symm.{succ u4, succ u3} ι' ι e))) (Function.comp.{succ u4, succ u3, succ u2} ι' ι M v (coeFn.{max 1 (max (succ u4) (succ u3)) (succ u3) (succ u4), max (succ u4) (succ u3)} (Equiv.{succ u4, succ u3} ι' ι) (fun (_x : Equiv.{succ u4, succ u3} ι' ι) => ι' -> ι) (Equiv.hasCoeToFun.{succ u4, succ u3} ι' ι) e))) (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) v)
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {ι' : Type.{u4}} [_inst_10 : Fintype.{u4} ι'] [_inst_11 : DecidableEq.{succ u4} ι'] (b : Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (v : ι -> M) (e : Equiv.{succ u4, succ u3} ι' ι), Eq.{succ u2} R (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), max (succ u1) (succ u4), succ u2} (AlternatingMap.{u2, u1, u2, u4} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι') (ι' -> M) (fun (_x : ι' -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u4} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι') (Basis.det.{u2, u1, u4} R _inst_1 M _inst_2 _inst_3 ι' (fun (a : ι') (b : ι') => _inst_11 a b) _inst_10 (Basis.reindex.{u3, u4, u2, u1} ι ι' R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 b (Equiv.symm.{succ u4, succ u3} ι' ι e))) (Function.comp.{succ u4, succ u3, succ u1} ι' ι M v (FunLike.coe.{max (succ u3) (succ u4), succ u4, succ u3} (Equiv.{succ u4, succ u3} ι' ι) ι' (fun (_x : ι') => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : ι') => ι) _x) (Equiv.instFunLikeEquiv.{succ u4, succ u3} ι' ι) e))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) v)
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {ι' : Type.{u4}} [_inst_10 : Fintype.{u4} ι'] [_inst_11 : DecidableEq.{succ u4} ι'] (b : Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (v : ι -> M) (e : Equiv.{succ u4, succ u3} ι' ι), Eq.{succ u2} R (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), max (succ u1) (succ u4), succ u2} (AlternatingMap.{u2, u1, u2, u4} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι') (ι' -> M) (fun (_x : ι' -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u4} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι') (Basis.det.{u2, u1, u4} R _inst_1 M _inst_2 _inst_3 ι' (fun (a : ι') (b : ι') => _inst_11 a b) _inst_10 (Basis.reindex.{u3, u4, u2, u1} ι ι' R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 b (Equiv.symm.{succ u4, succ u3} ι' ι e))) (Function.comp.{succ u4, succ u3, succ u1} ι' ι M v (FunLike.coe.{max (succ u3) (succ u4), succ u4, succ u3} (Equiv.{succ u4, succ u3} ι' ι) ι' (fun (_x : ι') => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ι') => ι) _x) (Equiv.instFunLikeEquiv.{succ u4, succ u3} ι' ι) e))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) v)
 Case conversion may be inaccurate. Consider using '#align basis.det_reindex_symm Basis.det_reindex_symmₓ'. -/
 theorem Basis.det_reindex_symm {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (b : Basis ι R M)
     (v : ι → M) (e : ι' ≃ ι) : (b.reindex e.symm).det (v ∘ e) = b.det v := by
Diff
@@ -536,7 +536,7 @@ theorem finiteDimensional_of_det_ne_one {𝕜 : Type _} [Field 𝕜] [Module 
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12}, (Eq.{succ u2} 𝕜 (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) => (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) -> 𝕜) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))))))))) -> (LT.lt.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Preorder.toHasLt.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.completeLattice.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (LinearMap.range.{u2, u2, u1, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (LinearMap.semilinearMapClass.{u2, u2, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11)))))) (RingHomSurjective.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11)))) f) (Top.top.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.hasTop.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12}, (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommGroupWithZero.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Semifield.toCommGroupWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Field.toSemifield.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) _inst_11))))))) -> (LT.lt.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Preorder.toLT.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.completeLattice.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (LinearMap.range.{u2, u2, u1, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))))) (RingHomSurjective.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))) f) (Top.top.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.instTopSubmodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12}, (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommGroupWithZero.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Semifield.toCommGroupWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Field.toSemifield.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) _inst_11))))))) -> (LT.lt.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Preorder.toLT.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.completeLattice.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (LinearMap.range.{u2, u2, u1, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (LinearMap.semilinearMapClass.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))))) (RingHomSurjective.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))) f) (Top.top.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.instTopSubmodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))
 Case conversion may be inaccurate. Consider using '#align linear_map.range_lt_top_of_det_eq_zero LinearMap.range_lt_top_of_det_eq_zeroₓ'. -/
 /-- If the determinant of a map vanishes, then the map is not onto. -/
 theorem range_lt_top_of_det_eq_zero {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] {f : M →ₗ[𝕜] M}
@@ -552,7 +552,7 @@ theorem range_lt_top_of_det_eq_zero {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M]
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12}, (Eq.{succ u2} 𝕜 (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) => (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) -> 𝕜) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))))))))) -> (LT.lt.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Preorder.toHasLt.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.completeLattice.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (Bot.bot.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.hasBot.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)) (LinearMap.ker.{u2, u2, u1, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (LinearMap.semilinearMapClass.{u2, u2, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11)))))) f))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12}, (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommGroupWithZero.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Semifield.toCommGroupWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Field.toSemifield.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) _inst_11))))))) -> (LT.lt.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Preorder.toLT.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.completeLattice.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (Bot.bot.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.instBotSubmodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)) (LinearMap.ker.{u2, u2, u1, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))))) f))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12}, (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommGroupWithZero.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Semifield.toCommGroupWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Field.toSemifield.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) _inst_11))))))) -> (LT.lt.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Preorder.toLT.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.completeLattice.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (Bot.bot.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.instBotSubmodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)) (LinearMap.ker.{u2, u2, u1, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (LinearMap.semilinearMapClass.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))))) f))
 Case conversion may be inaccurate. Consider using '#align linear_map.bot_lt_ker_of_det_eq_zero LinearMap.bot_lt_ker_of_det_eq_zeroₓ'. -/
 /-- If the determinant of a map vanishes, then the map is not injective. -/
 theorem bot_lt_ker_of_det_eq_zero {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] {f : M →ₗ[𝕜] M}
@@ -778,7 +778,7 @@ def LinearMap.equivOfDetNeZero {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCom
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (e : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (f : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (f' : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3), (forall (x : M), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f x) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f' (coeFn.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => M -> M) (LinearEquiv.hasCoeToFun.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) e x))) -> (Associated.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) f) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) f'))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (e : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (f : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (f' : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3), (forall (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) x) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f x) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f' (FunLike.coe.{succ u1, succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => M) _x) (SMulHomClass.toFunLike.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R M M (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (Module.toDistribMulAction.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (Module.toDistribMulAction.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R M M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (Module.toDistribMulAction.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Module.toDistribMulAction.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, u1, u1} R M M (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, u1, u1} R R M M (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) e x))) -> (Associated.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) _inst_1)))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) f'))
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (e : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (f : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (f' : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3), (forall (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) x) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f x) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f' (FunLike.coe.{succ u1, succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => M) _x) (SMulHomClass.toFunLike.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R M M (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (Module.toDistribMulAction.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (Module.toDistribMulAction.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R M M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (Module.toDistribMulAction.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Module.toDistribMulAction.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, u1, u1} R M M (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, u1, u1} R R M M (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) e x))) -> (Associated.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) _inst_1)))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) f'))
 Case conversion may be inaccurate. Consider using '#align linear_map.associated_det_of_eq_comp LinearMap.associated_det_of_eq_compₓ'. -/
 theorem LinearMap.associated_det_of_eq_comp (e : M ≃ₗ[R] M) (f f' : M →ₗ[R] M)
     (h : ∀ x, f x = f' (e x)) : Associated f.det f'.det :=
@@ -958,7 +958,7 @@ variable {A : Type _} [CommRing A] [Module A M]
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Module.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (e : Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (v : ι -> M), Eq.{succ u3} A (coeFn.{max (succ u1) (succ u3) (succ u2), max (max (succ u2) (succ u1)) (succ u3)} (AlternatingMap.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) (fun (_x : AlternatingMap.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) => (ι -> M) -> A) (AlternatingMap.coeFun.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) (Basis.det.{u3, u1, u2} A _inst_8 M _inst_2 _inst_9 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (Function.comp.{succ u2, succ u1, succ u1} ι M M (coeFn.{succ u1, succ u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => M -> M) (LinearMap.hasCoeToFun.{u3, u3, u1, u1} A A M M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))))) f) v)) (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (Ring.toDistrib.{u3} A (CommRing.toRing.{u3} A _inst_8)))) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.det.{u1, u3} M _inst_2 A _inst_8 _inst_9) f) (coeFn.{max (succ u1) (succ u3) (succ u2), max (max (succ u2) (succ u1)) (succ u3)} (AlternatingMap.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) (fun (_x : AlternatingMap.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) => (ι -> M) -> A) (AlternatingMap.coeFun.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) (Basis.det.{u3, u1, u2} A _inst_8 M _inst_2 _inst_9 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (e : Basis.{u3, u2, u1} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (v : ι -> M), Eq.{succ u2} A (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) ι) (ι -> M) (fun (_x : ι -> M) => A) (AlternatingMap.funLike.{u2, u1, u2, u3} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) ι) (Basis.det.{u2, u1, u3} A _inst_8 M _inst_2 _inst_9 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (Function.comp.{succ u3, succ u1, succ u1} ι M M (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) f) v)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) A ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) ι) (ι -> M) (fun (_x : ι -> M) => A) (AlternatingMap.funLike.{u2, u1, u2, u3} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) ι) (Basis.det.{u2, u1, u3} A _inst_8 M _inst_2 _inst_9 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (e : Basis.{u3, u2, u1} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (v : ι -> M), Eq.{succ u2} A (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) ι) (ι -> M) (fun (_x : ι -> M) => A) (AlternatingMap.funLike.{u2, u1, u2, u3} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) ι) (Basis.det.{u2, u1, u3} A _inst_8 M _inst_2 _inst_9 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (Function.comp.{succ u3, succ u1, succ u1} ι M M (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) f) v)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) A ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) ι) (ι -> M) (fun (_x : ι -> M) => A) (AlternatingMap.funLike.{u2, u1, u2, u3} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) ι) (Basis.det.{u2, u1, u3} A _inst_8 M _inst_2 _inst_9 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v))
 Case conversion may be inaccurate. Consider using '#align basis.det_comp Basis.det_compₓ'. -/
 @[simp]
 theorem Basis.det_comp (e : Basis ι A M) (f : M →ₗ[A] M) (v : ι → M) :
@@ -972,7 +972,7 @@ theorem Basis.det_comp (e : Basis ι A M) (f : M →ₗ[A] M) (v : ι → M) :
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {M' : Type.{u2}} [_inst_4 : AddCommGroup.{u2} M'] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u4}} [_inst_8 : CommRing.{u4} A] [_inst_9 : Module.{u4, u1} A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] [_inst_10 : Module.{u4, u2} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4)] (b : Basis.{u3, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (b' : Basis.{u3, u4, u2} ι A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10) (f : LinearMap.{u4, u4, u1, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_9 _inst_10), Eq.{succ u4} A (coeFn.{max (succ u2) (succ u4) (succ u3), max (max (succ u3) (succ u2)) (succ u4)} (AlternatingMap.{u4, u2, u4, u3} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 A (AddCommGroup.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toAddCommGroup.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) ι) (fun (_x : AlternatingMap.{u4, u2, u4, u3} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 A (AddCommGroup.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toAddCommGroup.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) ι) => (ι -> M') -> A) (AlternatingMap.coeFun.{u4, u2, u4, u3} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 A (AddCommGroup.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toAddCommGroup.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) ι) (Basis.det.{u4, u2, u3} A _inst_8 M' _inst_4 _inst_10 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b') (Function.comp.{succ u3, succ u1, succ u2} ι M M' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u4, u4, u1, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_9 _inst_10) (fun (_x : LinearMap.{u4, u4, u1, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_9 _inst_10) => M -> M') (LinearMap.hasCoeToFun.{u4, u4, u1, u2} A A M M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_9 _inst_10 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))))) f) (coeFn.{max (succ u3) (succ u4) (succ u1), max (succ u3) (succ u1)} (Basis.{u3, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (fun (_x : Basis.{u3, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) => ι -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u4) (succ u1), succ u3, succ u1} (Basis.{u3, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) ι (fun (_x : ι) => M) (Basis.funLike.{u3, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) b))) (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Module.End.ring.{u4, u2} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) _inst_4 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))))) (fun (_x : MonoidHom.{u2, u4} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Module.End.ring.{u4, u2} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) _inst_4 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))))) => (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) -> A) (MonoidHom.hasCoeToFun.{u2, u4} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Module.End.ring.{u4, u2} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) _inst_4 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))))) (LinearMap.det.{u2, u4} M' _inst_4 A _inst_8 _inst_10) (LinearMap.comp.{u4, u4, u4, u2, u1, u2} A A A M' M M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_9 _inst_10 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomCompTriple.ids.{u4, u4} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))))) f ((fun (a : Sort.{max (succ u2) (succ u1)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u2) (succ u1), max (succ u2) (succ u1)} a b] => self.0) (LinearEquiv.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (LinearMap.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (HasLiftT.mk.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (LinearMap.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (CoeTCₓ.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (LinearMap.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (coeBase.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (LinearMap.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u4, u4, u2, u1} A A M' M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))))))) (Basis.equiv.{u3, u3, u4, u2, u1} ι ι A M' M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 b' b (Equiv.refl.{succ u3} ι)))))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u4}} [_inst_8 : CommRing.{u4} A] [_inst_9 : Module.{u4, u1} A M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] [_inst_10 : Module.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] (b : Basis.{u2, u4, u1} ι A M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (b' : Basis.{u2, u4, u3} ι A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10) (f : LinearMap.{u4, u4, u1, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_9 _inst_10), Eq.{succ u4} A (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u2), succ u4} (AlternatingMap.{u4, u3, u4, u2} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))) ι) (ι -> M') (fun (_x : ι -> M') => A) (AlternatingMap.funLike.{u4, u3, u4, u2} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))) ι) (Basis.det.{u4, u3, u2} A _inst_8 M' _inst_4 _inst_10 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b') (Function.comp.{succ u2, succ u1, succ u3} ι M M' (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u4, u4, u1, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_9 _inst_10) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u1, u3} A A M M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_9 _inst_10 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))))) f) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), succ u2, succ u1} (Basis.{u2, u4, u1} ι A M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u2, u4, u1} ι A M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) b))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))) (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (fun (_x : LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) => A) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))) (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulOneClass.toMul.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10))))) (MulOneClass.toMul.{u4} A (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))) (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))))) (LinearMap.det.{u3, u4} M' _inst_4 A _inst_8 _inst_10) (LinearMap.comp.{u4, u4, u4, u3, u1, u3} A A A M' M M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_9 _inst_10 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHomCompTriple.ids.{u4, u4} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))))) f (LinearEquiv.toLinearMap.{u4, u4, u3, u1} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9 (Basis.equiv.{u2, u2, u4, u3, u1} ι ι A M' M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 b' b (Equiv.refl.{succ u2} ι)))))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u4}} [_inst_8 : CommRing.{u4} A] [_inst_9 : Module.{u4, u1} A M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] [_inst_10 : Module.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] (b : Basis.{u2, u4, u1} ι A M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (b' : Basis.{u2, u4, u3} ι A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10) (f : LinearMap.{u4, u4, u1, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_9 _inst_10), Eq.{succ u4} A (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u2), succ u4} (AlternatingMap.{u4, u3, u4, u2} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))) ι) (ι -> M') (fun (_x : ι -> M') => A) (AlternatingMap.funLike.{u4, u3, u4, u2} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))) ι) (Basis.det.{u4, u3, u2} A _inst_8 M' _inst_4 _inst_10 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b') (Function.comp.{succ u2, succ u1, succ u3} ι M M' (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u4, u4, u1, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_9 _inst_10) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u1, u3} A A M M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_9 _inst_10 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))))) f) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), succ u2, succ u1} (Basis.{u2, u4, u1} ι A M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u2, u4, u1} ι A M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) b))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))) (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (fun (_x : LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) => A) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))) (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulOneClass.toMul.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10))))) (MulOneClass.toMul.{u4} A (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))) (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))))) (LinearMap.det.{u3, u4} M' _inst_4 A _inst_8 _inst_10) (LinearMap.comp.{u4, u4, u4, u3, u1, u3} A A A M' M M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_9 _inst_10 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHomCompTriple.ids.{u4, u4} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))))) f (LinearEquiv.toLinearMap.{u4, u4, u3, u1} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9 (Basis.equiv.{u2, u2, u4, u3, u1} ι ι A M' M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 b' b (Equiv.refl.{succ u2} ι)))))
 Case conversion may be inaccurate. Consider using '#align basis.det_comp_basis Basis.det_comp_basisₓ'. -/
 @[simp]
 theorem Basis.det_comp_basis [Module A M'] (b : Basis ι A M) (b' : Basis ι A M') (f : M →ₗ[A] M') :
Diff
@@ -534,7 +534,7 @@ theorem finiteDimensional_of_det_ne_one {𝕜 : Type _} [Field 𝕜] [Module 
 
 /- warning: linear_map.range_lt_top_of_det_eq_zero -> LinearMap.range_lt_top_of_det_eq_zero is a dubious translation:
 lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12}, (Eq.{succ u2} 𝕜 (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) => (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) -> 𝕜) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))))))))) -> (LT.lt.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Preorder.toLT.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.completeLattice.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (LinearMap.range.{u2, u2, u1, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (LinearMap.semilinearMapClass.{u2, u2, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11)))))) (RingHomSurjective.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11)))) f) (Top.top.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.hasTop.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12}, (Eq.{succ u2} 𝕜 (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) => (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) -> 𝕜) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))))))))) -> (LT.lt.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Preorder.toHasLt.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.completeLattice.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (LinearMap.range.{u2, u2, u1, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (LinearMap.semilinearMapClass.{u2, u2, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11)))))) (RingHomSurjective.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11)))) f) (Top.top.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.hasTop.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))
 but is expected to have type
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12}, (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommGroupWithZero.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Semifield.toCommGroupWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Field.toSemifield.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) _inst_11))))))) -> (LT.lt.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Preorder.toLT.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.completeLattice.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (LinearMap.range.{u2, u2, u1, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))))) (RingHomSurjective.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))) f) (Top.top.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.instTopSubmodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))
 Case conversion may be inaccurate. Consider using '#align linear_map.range_lt_top_of_det_eq_zero LinearMap.range_lt_top_of_det_eq_zeroₓ'. -/
@@ -550,7 +550,7 @@ theorem range_lt_top_of_det_eq_zero {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M]
 
 /- warning: linear_map.bot_lt_ker_of_det_eq_zero -> LinearMap.bot_lt_ker_of_det_eq_zero is a dubious translation:
 lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12}, (Eq.{succ u2} 𝕜 (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) => (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) -> 𝕜) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))))))))) -> (LT.lt.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Preorder.toLT.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.completeLattice.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (Bot.bot.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.hasBot.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)) (LinearMap.ker.{u2, u2, u1, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (LinearMap.semilinearMapClass.{u2, u2, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11)))))) f))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12}, (Eq.{succ u2} 𝕜 (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) => (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) -> 𝕜) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))))))))) -> (LT.lt.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Preorder.toHasLt.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.completeLattice.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (Bot.bot.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.hasBot.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)) (LinearMap.ker.{u2, u2, u1, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (LinearMap.semilinearMapClass.{u2, u2, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11)))))) f))
 but is expected to have type
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12}, (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommGroupWithZero.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Semifield.toCommGroupWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Field.toSemifield.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) _inst_11))))))) -> (LT.lt.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Preorder.toLT.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.completeLattice.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (Bot.bot.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.instBotSubmodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)) (LinearMap.ker.{u2, u2, u1, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))))) f))
 Case conversion may be inaccurate. Consider using '#align linear_map.bot_lt_ker_of_det_eq_zero LinearMap.bot_lt_ker_of_det_eq_zeroₓ'. -/
@@ -1044,7 +1044,7 @@ theorem Pi.basisFun_det : (Pi.basisFun R ι).det = Matrix.detRowAlternating :=
 
 /- warning: basis.det_smul_mk_coord_eq_det_update -> Basis.det_smul_mk_coord_eq_det_update is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) {v : ι -> M} (hli : LinearIndependent.{u3, u1, u2} ι R M v (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (hsp : LE.le.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (Top.top.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (Set.range.{u2, succ u3} M ι v))) (i : ι), Eq.{succ (max u2 u1)} (LinearMap.{u1, u1, u2, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M R (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_3 (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (SMul.smul.{u1, max u2 u1} R (LinearMap.{u1, u1, u2, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M R (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_3 (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearMap.hasSmul.{u1, u1, u1, u2, u1} R R R M R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_3 (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Module.toDistribMulAction.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (smulCommClass_self.{u1, u1} R R (CommRing.toCommMonoid.{u1} R _inst_1) (Monoid.toMulAction.{u1} R (CommMonoid.toMonoid.{u1} R (CommRing.toCommMonoid.{u1} R _inst_1))))) (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v) (Basis.coord.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (Basis.mk.{u3, u1, u2} ι R M v (CommRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 hli hsp) i)) (MultilinearMap.toLinearMap.{u1, u2, u1, u3} R ι (fun (i : ι) => M) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => _inst_3) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AlternatingMap.toMultilinearMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e)) (fun (a : ι) (b : ι) => _inst_6 a b) v i)
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) {v : ι -> M} (hli : LinearIndependent.{u3, u1, u2} ι R M v (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (hsp : LE.le.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (Top.top.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (Set.range.{u2, succ u3} M ι v))) (i : ι), Eq.{succ (max u2 u1)} (LinearMap.{u1, u1, u2, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M R (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_3 (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (SMul.smul.{u1, max u2 u1} R (LinearMap.{u1, u1, u2, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M R (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_3 (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearMap.hasSmul.{u1, u1, u1, u2, u1} R R R M R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_3 (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Module.toDistribMulAction.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (smulCommClass_self.{u1, u1} R R (CommRing.toCommMonoid.{u1} R _inst_1) (Monoid.toMulAction.{u1} R (CommMonoid.toMonoid.{u1} R (CommRing.toCommMonoid.{u1} R _inst_1))))) (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v) (Basis.coord.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (Basis.mk.{u3, u1, u2} ι R M v (CommRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 hli hsp) i)) (MultilinearMap.toLinearMap.{u1, u2, u1, u3} R ι (fun (i : ι) => M) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => _inst_3) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AlternatingMap.toMultilinearMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e)) (fun (a : ι) (b : ι) => _inst_6 a b) v i)
 but is expected to have type
   forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) {v : ι -> M} (hli : LinearIndependent.{u3, u2, u1} ι R M v (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (hsp : LE.le.{u1} (Submodule.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Preorder.toLE.{u1} (Submodule.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (Top.top.{u1} (Submodule.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.instTopSubmodule.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (Submodule.span.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 (Set.range.{u1, succ u3} M ι v))) (i : ι), Eq.{max (succ u2) (succ u1)} (LinearMap.{u2, u2, u1, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M R (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _inst_3 (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (HSMul.hSMul.{u2, max u2 u1, max u2 u1} R (LinearMap.{u2, u2, u1, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M R (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _inst_3 (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (LinearMap.{u2, u2, u1, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M R (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _inst_3 (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (instHSMul.{u2, max u2 u1} R (LinearMap.{u2, u2, u1, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M R (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _inst_3 (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (LinearMap.instSMulLinearMap.{u2, u2, u2, u1, u2} R R R M R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _inst_3 (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (smulCommClass_self.{u2, u2} R R (CommRing.toCommMonoid.{u2} R _inst_1) (MulActionWithZero.toMulAction.{u2, u2} R R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v) (Basis.coord.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 (Basis.mk.{u3, u2, u1} ι R M v (CommRing.toRing.{u2} R _inst_1) _inst_2 _inst_3 hli hsp) i)) (MultilinearMap.toLinearMap.{u2, u1, u2, u3} R ι (fun (i : ι) => M) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (fun (i : ι) => _inst_3) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AlternatingMap.toMultilinearMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e)) (fun (a : ι) (b : ι) => _inst_6 a b) v i)
 Case conversion may be inaccurate. Consider using '#align basis.det_smul_mk_coord_eq_det_update Basis.det_smul_mk_coord_eq_det_updateₓ'. -/
Diff
@@ -80,7 +80,7 @@ variable {m n : Type _} [Fintype m] [Fintype n]
 lean 3 declaration is
   forall {m : Type.{u_6}} {n : Type.{u_7}} [_inst_9 : Fintype.{u_6} m] [_inst_10 : Fintype.{u_7} n] {R : Type.{u_1}} [_inst_11 : CommRing.{u_1} R] [_inst_12 : Nontrivial.{u_1} R], (LinearEquiv.{u_1, u_1, max u_6 u_1, max u_7 u_1} R R (Ring.toSemiring.{u_1} R (CommRing.toRing.{u_1} R _inst_11)) (Ring.toSemiring.{u_1} R (CommRing.toRing.{u_1} R _inst_11)) (RingHom.id.{u_1} R (Semiring.toNonAssocSemiring.{u_1} R (Ring.toSemiring.{u_1} R (CommRing.toRing.{u_1} R _inst_11)))) (RingHom.id.{u_1} R (Semiring.toNonAssocSemiring.{u_1} R (Ring.toSemiring.{u_1} R (CommRing.toRing.{u_1} R _inst_11)))) (equivOfPiLEquivPi._proof_1.{u_1} R _inst_11) (equivOfPiLEquivPi._proof_2.{u_1} R _inst_11) (m -> R) (n -> R) (Pi.addCommMonoid.{u_6, u_1} m (fun (ᾰ : m) => R) (fun (i : m) => AddCommGroup.toAddCommMonoid.{u_1} R (NonUnitalNonAssocRing.toAddCommGroup.{u_1} R (NonAssocRing.toNonUnitalNonAssocRing.{u_1} R (Ring.toNonAssocRing.{u_1} R (CommRing.toRing.{u_1} R _inst_11)))))) (Pi.addCommMonoid.{u_7, u_1} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u_1} R (NonUnitalNonAssocRing.toAddCommGroup.{u_1} R (NonAssocRing.toNonUnitalNonAssocRing.{u_1} R (Ring.toNonAssocRing.{u_1} R (CommRing.toRing.{u_1} R _inst_11)))))) (Pi.Function.module.{u_6, u_1, u_1} m R R (Ring.toSemiring.{u_1} R (CommRing.toRing.{u_1} R _inst_11)) (AddCommGroup.toAddCommMonoid.{u_1} R (NonUnitalNonAssocRing.toAddCommGroup.{u_1} R (NonAssocRing.toNonUnitalNonAssocRing.{u_1} R (Ring.toNonAssocRing.{u_1} R (CommRing.toRing.{u_1} R _inst_11))))) (Semiring.toModule.{u_1} R (Ring.toSemiring.{u_1} R (CommRing.toRing.{u_1} R _inst_11)))) (Pi.Function.module.{u_7, u_1, u_1} n R R (Ring.toSemiring.{u_1} R (CommRing.toRing.{u_1} R _inst_11)) (AddCommGroup.toAddCommMonoid.{u_1} R (NonUnitalNonAssocRing.toAddCommGroup.{u_1} R (NonAssocRing.toNonUnitalNonAssocRing.{u_1} R (Ring.toNonAssocRing.{u_1} R (CommRing.toRing.{u_1} R _inst_11))))) (Semiring.toModule.{u_1} R (Ring.toSemiring.{u_1} R (CommRing.toRing.{u_1} R _inst_11))))) -> (Equiv.{succ u_6, succ u_7} m n)
 but is expected to have type
-  forall {m : Type.{u_1}} {n : Type.{u_2}} [_inst_9 : Fintype.{u_1} m] [_inst_10 : Fintype.{u_2} n] {R : Type.{u_3}} [_inst_11 : CommRing.{u_3} R] [_inst_12 : Nontrivial.{u_3} R], (LinearEquiv.{u_3, u_3, max u_1 u_3, max u_2 u_3} R R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11)) (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11)) (RingHom.id.{u_3} R (Semiring.toNonAssocSemiring.{u_3} R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11)))) (RingHom.id.{u_3} R (Semiring.toNonAssocSemiring.{u_3} R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11)))) (RingHomInvPair.ids.{u_3} R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11))) (RingHomInvPair.ids.{u_3} R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11))) (m -> R) (n -> R) (Pi.addCommMonoid.{u_1, u_3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u_3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_3} R (NonAssocRing.toNonUnitalNonAssocRing.{u_3} R (Ring.toNonAssocRing.{u_3} R (CommRing.toRing.{u_3} R _inst_11)))))) (Pi.addCommMonoid.{u_2, u_3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u_3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_3} R (NonAssocRing.toNonUnitalNonAssocRing.{u_3} R (Ring.toNonAssocRing.{u_3} R (CommRing.toRing.{u_3} R _inst_11)))))) (Pi.module.{u_1, u_3, u_3} m (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.269 : m) => R) R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11)) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u_3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_3} R (NonAssocRing.toNonUnitalNonAssocRing.{u_3} R (Ring.toNonAssocRing.{u_3} R (CommRing.toRing.{u_3} R _inst_11))))) (fun (i : m) => Semiring.toModule.{u_3} R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11)))) (Pi.module.{u_2, u_3, u_3} n (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.272 : n) => R) R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u_3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_3} R (NonAssocRing.toNonUnitalNonAssocRing.{u_3} R (Ring.toNonAssocRing.{u_3} R (CommRing.toRing.{u_3} R _inst_11))))) (fun (i : n) => Semiring.toModule.{u_3} R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11))))) -> (Equiv.{succ u_1, succ u_2} m n)
+  forall {m : Type.{u_1}} {n : Type.{u_2}} [_inst_9 : Fintype.{u_1} m] [_inst_10 : Fintype.{u_2} n] {R : Type.{u_3}} [_inst_11 : CommRing.{u_3} R] [_inst_12 : Nontrivial.{u_3} R], (LinearEquiv.{u_3, u_3, max u_1 u_3, max u_2 u_3} R R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11)) (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11)) (RingHom.id.{u_3} R (Semiring.toNonAssocSemiring.{u_3} R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11)))) (RingHom.id.{u_3} R (Semiring.toNonAssocSemiring.{u_3} R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11)))) (RingHomInvPair.ids.{u_3} R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11))) (RingHomInvPair.ids.{u_3} R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11))) (m -> R) (n -> R) (Pi.addCommMonoid.{u_1, u_3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u_3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_3} R (NonAssocRing.toNonUnitalNonAssocRing.{u_3} R (Ring.toNonAssocRing.{u_3} R (CommRing.toRing.{u_3} R _inst_11)))))) (Pi.addCommMonoid.{u_2, u_3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u_3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_3} R (NonAssocRing.toNonUnitalNonAssocRing.{u_3} R (Ring.toNonAssocRing.{u_3} R (CommRing.toRing.{u_3} R _inst_11)))))) (Pi.module.{u_1, u_3, u_3} m (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.264 : m) => R) R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11)) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u_3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_3} R (NonAssocRing.toNonUnitalNonAssocRing.{u_3} R (Ring.toNonAssocRing.{u_3} R (CommRing.toRing.{u_3} R _inst_11))))) (fun (i : m) => Semiring.toModule.{u_3} R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11)))) (Pi.module.{u_2, u_3, u_3} n (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.267 : n) => R) R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u_3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_3} R (NonAssocRing.toNonUnitalNonAssocRing.{u_3} R (Ring.toNonAssocRing.{u_3} R (CommRing.toRing.{u_3} R _inst_11))))) (fun (i : n) => Semiring.toModule.{u_3} R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11))))) -> (Equiv.{succ u_1, succ u_2} m n)
 Case conversion may be inaccurate. Consider using '#align equiv_of_pi_lequiv_pi equivOfPiLEquivPiₓ'. -/
 /-- If `R^m` and `R^n` are linearly equivalent, then `m` and `n` are also equivalent. -/
 def equivOfPiLEquivPi {R : Type _} [CommRing R] [Nontrivial R] (e : (m → R) ≃ₗ[R] n → R) : m ≃ n :=
@@ -316,7 +316,7 @@ theorem det_toMatrix (b : Basis ι A M) (f : M →ₗ[A] M) : Matrix.det (toMatr
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {ι : Type.{u2}} [_inst_11 : Fintype.{u2} ι] [_inst_12 : DecidableEq.{succ u2} ι] (f : LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))), Eq.{succ u1} A (Matrix.det.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_12 a b) _inst_11 A _inst_8 (coeFn.{succ (max u2 u1), succ (max u2 u1)} (LinearEquiv.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_1.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.toMatrix'._proof_2.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_3.{u1, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι)) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (_x : LinearEquiv.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_1.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.toMatrix'._proof_2.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_3.{u1, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι)) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) -> (Matrix.{u2, u2, u1} ι ι A)) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_3.{u1, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι)) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_1.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.toMatrix'._proof_2.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.toMatrix'.{u1, u2, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι ι _inst_11 (fun (a : ι) (b : ι) => _inst_12 a b)) f)) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ (max u2 u1)) (succ u1)} (MonoidHom.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u2 u1} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (fun (_x : MonoidHom.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u2 u1} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) => (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) -> A) (MonoidHom.hasCoeToFun.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u2 u1} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.det.{max u2 u1, u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A _inst_8 (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) f)
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {ι : Type.{u2}} [_inst_11 : Fintype.{u2} ι] [_inst_12 : DecidableEq.{succ u2} ι] (f : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))), Eq.{succ u1} A (Matrix.det.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_12 a b) _inst_11 A _inst_8 (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (_x : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => Matrix.{u2, u2, u1} ι ι A) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (SMulZeroClass.toSMul.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddMonoid.toZero.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddMonoid.toAddZeroClass.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Module.toDistribMulAction.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, max u2 u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.toMatrix'.{u1, u2, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι ι _inst_11 (fun (a : ι) (b : ι) => _inst_12 a b)) f)) (FunLike.coe.{max (succ u1) (succ (max u1 u2)), succ (max u1 u2), succ u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (_x : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => A) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulOneClass.toMul.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.det.{max u1 u2, u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) A _inst_8 (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) f)
+  forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {ι : Type.{u2}} [_inst_11 : Fintype.{u2} ι] [_inst_12 : DecidableEq.{succ u2} ι] (f : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))), Eq.{succ u1} A (Matrix.det.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_12 a b) _inst_11 A _inst_8 (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (_x : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => Matrix.{u2, u2, u1} ι ι A) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (SMulZeroClass.toSMul.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddMonoid.toZero.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddMonoid.toAddZeroClass.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Module.toDistribMulAction.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, max u2 u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.toMatrix'.{u1, u2, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι ι _inst_11 (fun (a : ι) (b : ι) => _inst_12 a b)) f)) (FunLike.coe.{max (succ u1) (succ (max u1 u2)), succ (max u1 u2), succ u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (_x : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => A) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulOneClass.toMul.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.det.{max u1 u2, u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) A _inst_8 (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2653 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) f)
 Case conversion may be inaccurate. Consider using '#align linear_map.det_to_matrix' LinearMap.det_toMatrix'ₓ'. -/
 @[simp]
 theorem det_toMatrix' {ι : Type _} [Fintype ι] [DecidableEq ι] (f : (ι → A) →ₗ[A] ι → A) :
Diff
@@ -80,7 +80,7 @@ variable {m n : Type _} [Fintype m] [Fintype n]
 lean 3 declaration is
   forall {m : Type.{u_6}} {n : Type.{u_7}} [_inst_9 : Fintype.{u_6} m] [_inst_10 : Fintype.{u_7} n] {R : Type.{u_1}} [_inst_11 : CommRing.{u_1} R] [_inst_12 : Nontrivial.{u_1} R], (LinearEquiv.{u_1, u_1, max u_6 u_1, max u_7 u_1} R R (Ring.toSemiring.{u_1} R (CommRing.toRing.{u_1} R _inst_11)) (Ring.toSemiring.{u_1} R (CommRing.toRing.{u_1} R _inst_11)) (RingHom.id.{u_1} R (Semiring.toNonAssocSemiring.{u_1} R (Ring.toSemiring.{u_1} R (CommRing.toRing.{u_1} R _inst_11)))) (RingHom.id.{u_1} R (Semiring.toNonAssocSemiring.{u_1} R (Ring.toSemiring.{u_1} R (CommRing.toRing.{u_1} R _inst_11)))) (equivOfPiLEquivPi._proof_1.{u_1} R _inst_11) (equivOfPiLEquivPi._proof_2.{u_1} R _inst_11) (m -> R) (n -> R) (Pi.addCommMonoid.{u_6, u_1} m (fun (ᾰ : m) => R) (fun (i : m) => AddCommGroup.toAddCommMonoid.{u_1} R (NonUnitalNonAssocRing.toAddCommGroup.{u_1} R (NonAssocRing.toNonUnitalNonAssocRing.{u_1} R (Ring.toNonAssocRing.{u_1} R (CommRing.toRing.{u_1} R _inst_11)))))) (Pi.addCommMonoid.{u_7, u_1} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u_1} R (NonUnitalNonAssocRing.toAddCommGroup.{u_1} R (NonAssocRing.toNonUnitalNonAssocRing.{u_1} R (Ring.toNonAssocRing.{u_1} R (CommRing.toRing.{u_1} R _inst_11)))))) (Pi.Function.module.{u_6, u_1, u_1} m R R (Ring.toSemiring.{u_1} R (CommRing.toRing.{u_1} R _inst_11)) (AddCommGroup.toAddCommMonoid.{u_1} R (NonUnitalNonAssocRing.toAddCommGroup.{u_1} R (NonAssocRing.toNonUnitalNonAssocRing.{u_1} R (Ring.toNonAssocRing.{u_1} R (CommRing.toRing.{u_1} R _inst_11))))) (Semiring.toModule.{u_1} R (Ring.toSemiring.{u_1} R (CommRing.toRing.{u_1} R _inst_11)))) (Pi.Function.module.{u_7, u_1, u_1} n R R (Ring.toSemiring.{u_1} R (CommRing.toRing.{u_1} R _inst_11)) (AddCommGroup.toAddCommMonoid.{u_1} R (NonUnitalNonAssocRing.toAddCommGroup.{u_1} R (NonAssocRing.toNonUnitalNonAssocRing.{u_1} R (Ring.toNonAssocRing.{u_1} R (CommRing.toRing.{u_1} R _inst_11))))) (Semiring.toModule.{u_1} R (Ring.toSemiring.{u_1} R (CommRing.toRing.{u_1} R _inst_11))))) -> (Equiv.{succ u_6, succ u_7} m n)
 but is expected to have type
-  forall {m : Type.{u_1}} {n : Type.{u_2}} [_inst_9 : Fintype.{u_1} m] [_inst_10 : Fintype.{u_2} n] {R : Type.{u_3}} [_inst_11 : CommRing.{u_3} R] [_inst_12 : Nontrivial.{u_3} R], (LinearEquiv.{u_3, u_3, max u_1 u_3, max u_2 u_3} R R (Ring.toSemiring.{u_3} R (CommRing.toRing.{u_3} R _inst_11)) (Ring.toSemiring.{u_3} R (CommRing.toRing.{u_3} R _inst_11)) (RingHom.id.{u_3} R (NonAssocRing.toNonAssocSemiring.{u_3} R (Ring.toNonAssocRing.{u_3} R (CommRing.toRing.{u_3} R _inst_11)))) (RingHom.id.{u_3} R (Semiring.toNonAssocSemiring.{u_3} R (Ring.toSemiring.{u_3} R (CommRing.toRing.{u_3} R _inst_11)))) (RingHomInvPair.ids.{u_3} R (Ring.toSemiring.{u_3} R (CommRing.toRing.{u_3} R _inst_11))) (RingHomInvPair.ids.{u_3} R (Ring.toSemiring.{u_3} R (CommRing.toRing.{u_3} R _inst_11))) (m -> R) (n -> R) (Pi.addCommMonoid.{u_1, u_3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u_3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_3} R (NonAssocRing.toNonUnitalNonAssocRing.{u_3} R (Ring.toNonAssocRing.{u_3} R (CommRing.toRing.{u_3} R _inst_11)))))) (Pi.addCommMonoid.{u_2, u_3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u_3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_3} R (NonAssocRing.toNonUnitalNonAssocRing.{u_3} R (Ring.toNonAssocRing.{u_3} R (CommRing.toRing.{u_3} R _inst_11)))))) (Pi.module.{u_1, u_3, u_3} m (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.269 : m) => R) R (Ring.toSemiring.{u_3} R (CommRing.toRing.{u_3} R _inst_11)) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u_3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_3} R (NonAssocRing.toNonUnitalNonAssocRing.{u_3} R (Ring.toNonAssocRing.{u_3} R (CommRing.toRing.{u_3} R _inst_11))))) (fun (i : m) => Semiring.toModule.{u_3} R (Ring.toSemiring.{u_3} R (CommRing.toRing.{u_3} R _inst_11)))) (Pi.module.{u_2, u_3, u_3} n (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.272 : n) => R) R (Ring.toSemiring.{u_3} R (CommRing.toRing.{u_3} R _inst_11)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u_3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_3} R (NonAssocRing.toNonUnitalNonAssocRing.{u_3} R (Ring.toNonAssocRing.{u_3} R (CommRing.toRing.{u_3} R _inst_11))))) (fun (i : n) => Semiring.toModule.{u_3} R (Ring.toSemiring.{u_3} R (CommRing.toRing.{u_3} R _inst_11))))) -> (Equiv.{succ u_1, succ u_2} m n)
+  forall {m : Type.{u_1}} {n : Type.{u_2}} [_inst_9 : Fintype.{u_1} m] [_inst_10 : Fintype.{u_2} n] {R : Type.{u_3}} [_inst_11 : CommRing.{u_3} R] [_inst_12 : Nontrivial.{u_3} R], (LinearEquiv.{u_3, u_3, max u_1 u_3, max u_2 u_3} R R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11)) (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11)) (RingHom.id.{u_3} R (Semiring.toNonAssocSemiring.{u_3} R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11)))) (RingHom.id.{u_3} R (Semiring.toNonAssocSemiring.{u_3} R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11)))) (RingHomInvPair.ids.{u_3} R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11))) (RingHomInvPair.ids.{u_3} R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11))) (m -> R) (n -> R) (Pi.addCommMonoid.{u_1, u_3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u_3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_3} R (NonAssocRing.toNonUnitalNonAssocRing.{u_3} R (Ring.toNonAssocRing.{u_3} R (CommRing.toRing.{u_3} R _inst_11)))))) (Pi.addCommMonoid.{u_2, u_3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u_3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_3} R (NonAssocRing.toNonUnitalNonAssocRing.{u_3} R (Ring.toNonAssocRing.{u_3} R (CommRing.toRing.{u_3} R _inst_11)))))) (Pi.module.{u_1, u_3, u_3} m (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.269 : m) => R) R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11)) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u_3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_3} R (NonAssocRing.toNonUnitalNonAssocRing.{u_3} R (Ring.toNonAssocRing.{u_3} R (CommRing.toRing.{u_3} R _inst_11))))) (fun (i : m) => Semiring.toModule.{u_3} R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11)))) (Pi.module.{u_2, u_3, u_3} n (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.272 : n) => R) R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u_3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_3} R (NonAssocRing.toNonUnitalNonAssocRing.{u_3} R (Ring.toNonAssocRing.{u_3} R (CommRing.toRing.{u_3} R _inst_11))))) (fun (i : n) => Semiring.toModule.{u_3} R (CommSemiring.toSemiring.{u_3} R (CommRing.toCommSemiring.{u_3} R _inst_11))))) -> (Equiv.{succ u_1, succ u_2} m n)
 Case conversion may be inaccurate. Consider using '#align equiv_of_pi_lequiv_pi equivOfPiLEquivPiₓ'. -/
 /-- If `R^m` and `R^n` are linearly equivalent, then `m` and `n` are also equivalent. -/
 def equivOfPiLEquivPi {R : Type _} [CommRing R] [Nontrivial R] (e : (m → R) ≃ₗ[R] n → R) : m ≃ n :=
@@ -93,7 +93,7 @@ namespace Matrix
 lean 3 declaration is
   forall {A : Type.{u_5}} [_inst_8 : CommRing.{u_5} A] {m : Type.{u_6}} {n : Type.{u_7}} [_inst_9 : Fintype.{u_6} m] [_inst_10 : Fintype.{u_7} n] [_inst_11 : Nontrivial.{u_5} A] [_inst_12 : DecidableEq.{succ u_6} m] [_inst_13 : DecidableEq.{succ u_7} n] {M : Matrix.{u_6, u_7, u_5} m n A} {M' : Matrix.{u_7, u_6, u_5} n m A}, (Eq.{succ (max u_6 u_5)} (Matrix.{u_6, u_6, u_5} m m A) (Matrix.mul.{u_5, u_6, u_7, u_6} m n m A _inst_10 (Distrib.toHasMul.{u_5} A (Ring.toDistrib.{u_5} A (CommRing.toRing.{u_5} A _inst_8))) (AddCommGroup.toAddCommMonoid.{u_5} A (NonUnitalNonAssocRing.toAddCommGroup.{u_5} A (NonAssocRing.toNonUnitalNonAssocRing.{u_5} A (Ring.toNonAssocRing.{u_5} A (CommRing.toRing.{u_5} A _inst_8))))) M M') (OfNat.ofNat.{max u_6 u_5} (Matrix.{u_6, u_6, u_5} m m A) 1 (OfNat.mk.{max u_6 u_5} (Matrix.{u_6, u_6, u_5} m m A) 1 (One.one.{max u_6 u_5} (Matrix.{u_6, u_6, u_5} m m A) (Matrix.hasOne.{u_5, u_6} m A (fun (a : m) (b : m) => _inst_12 a b) (MulZeroClass.toHasZero.{u_5} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u_5} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_5} A (NonAssocRing.toNonUnitalNonAssocRing.{u_5} A (Ring.toNonAssocRing.{u_5} A (CommRing.toRing.{u_5} A _inst_8)))))) (AddMonoidWithOne.toOne.{u_5} A (AddGroupWithOne.toAddMonoidWithOne.{u_5} A (AddCommGroupWithOne.toAddGroupWithOne.{u_5} A (Ring.toAddCommGroupWithOne.{u_5} A (CommRing.toRing.{u_5} A _inst_8)))))))))) -> (Eq.{succ (max u_7 u_5)} (Matrix.{u_7, u_7, u_5} n n A) (Matrix.mul.{u_5, u_7, u_6, u_7} n m n A _inst_9 (Distrib.toHasMul.{u_5} A (Ring.toDistrib.{u_5} A (CommRing.toRing.{u_5} A _inst_8))) (AddCommGroup.toAddCommMonoid.{u_5} A (NonUnitalNonAssocRing.toAddCommGroup.{u_5} A (NonAssocRing.toNonUnitalNonAssocRing.{u_5} A (Ring.toNonAssocRing.{u_5} A (CommRing.toRing.{u_5} A _inst_8))))) M' M) (OfNat.ofNat.{max u_7 u_5} (Matrix.{u_7, u_7, u_5} n n A) 1 (OfNat.mk.{max u_7 u_5} (Matrix.{u_7, u_7, u_5} n n A) 1 (One.one.{max u_7 u_5} (Matrix.{u_7, u_7, u_5} n n A) (Matrix.hasOne.{u_5, u_7} n A (fun (a : n) (b : n) => _inst_13 a b) (MulZeroClass.toHasZero.{u_5} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u_5} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_5} A (NonAssocRing.toNonUnitalNonAssocRing.{u_5} A (Ring.toNonAssocRing.{u_5} A (CommRing.toRing.{u_5} A _inst_8)))))) (AddMonoidWithOne.toOne.{u_5} A (AddGroupWithOne.toAddMonoidWithOne.{u_5} A (AddCommGroupWithOne.toAddGroupWithOne.{u_5} A (Ring.toAddCommGroupWithOne.{u_5} A (CommRing.toRing.{u_5} A _inst_8)))))))))) -> (Equiv.{succ u_6, succ u_7} m n)
 but is expected to have type
-  forall {A : Type.{u_1}} [_inst_8 : CommRing.{u_1} A] {m : Type.{u_2}} {n : Type.{u_3}} [_inst_9 : Fintype.{u_2} m] [_inst_10 : Fintype.{u_3} n] [_inst_11 : Nontrivial.{u_1} A] [_inst_12 : DecidableEq.{succ u_2} m] [_inst_13 : DecidableEq.{succ u_3} n] {M : Matrix.{u_2, u_3, u_1} m n A} {M' : Matrix.{u_3, u_2, u_1} n m A}, (Eq.{max (succ u_1) (succ u_2)} (Matrix.{u_2, u_2, u_1} m m A) (Matrix.mul.{u_1, u_2, u_3, u_2} m n m A _inst_10 (NonUnitalNonAssocRing.toMul.{u_1} A (NonAssocRing.toNonUnitalNonAssocRing.{u_1} A (Ring.toNonAssocRing.{u_1} A (CommRing.toRing.{u_1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u_1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_1} A (NonAssocRing.toNonUnitalNonAssocRing.{u_1} A (Ring.toNonAssocRing.{u_1} A (CommRing.toRing.{u_1} A _inst_8))))) M M') (OfNat.ofNat.{max u_1 u_2} (Matrix.{u_2, u_2, u_1} m m A) 1 (One.toOfNat1.{max u_1 u_2} (Matrix.{u_2, u_2, u_1} m m A) (Matrix.one.{u_1, u_2} m A (fun (a : m) (b : m) => _inst_12 a b) (CommMonoidWithZero.toZero.{u_1} A (CommSemiring.toCommMonoidWithZero.{u_1} A (CommRing.toCommSemiring.{u_1} A _inst_8))) (NonAssocRing.toOne.{u_1} A (Ring.toNonAssocRing.{u_1} A (CommRing.toRing.{u_1} A _inst_8))))))) -> (Eq.{max (succ u_1) (succ u_3)} (Matrix.{u_3, u_3, u_1} n n A) (Matrix.mul.{u_1, u_3, u_2, u_3} n m n A _inst_9 (NonUnitalNonAssocRing.toMul.{u_1} A (NonAssocRing.toNonUnitalNonAssocRing.{u_1} A (Ring.toNonAssocRing.{u_1} A (CommRing.toRing.{u_1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u_1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_1} A (NonAssocRing.toNonUnitalNonAssocRing.{u_1} A (Ring.toNonAssocRing.{u_1} A (CommRing.toRing.{u_1} A _inst_8))))) M' M) (OfNat.ofNat.{max u_1 u_3} (Matrix.{u_3, u_3, u_1} n n A) 1 (One.toOfNat1.{max u_1 u_3} (Matrix.{u_3, u_3, u_1} n n A) (Matrix.one.{u_1, u_3} n A (fun (a : n) (b : n) => _inst_13 a b) (CommMonoidWithZero.toZero.{u_1} A (CommSemiring.toCommMonoidWithZero.{u_1} A (CommRing.toCommSemiring.{u_1} A _inst_8))) (NonAssocRing.toOne.{u_1} A (Ring.toNonAssocRing.{u_1} A (CommRing.toRing.{u_1} A _inst_8))))))) -> (Equiv.{succ u_2, succ u_3} m n)
+  forall {A : Type.{u_1}} [_inst_8 : CommRing.{u_1} A] {m : Type.{u_2}} {n : Type.{u_3}} [_inst_9 : Fintype.{u_2} m] [_inst_10 : Fintype.{u_3} n] [_inst_11 : Nontrivial.{u_1} A] [_inst_12 : DecidableEq.{succ u_2} m] [_inst_13 : DecidableEq.{succ u_3} n] {M : Matrix.{u_2, u_3, u_1} m n A} {M' : Matrix.{u_3, u_2, u_1} n m A}, (Eq.{max (succ u_1) (succ u_2)} (Matrix.{u_2, u_2, u_1} m m A) (Matrix.mul.{u_1, u_2, u_3, u_2} m n m A _inst_10 (NonUnitalNonAssocRing.toMul.{u_1} A (NonAssocRing.toNonUnitalNonAssocRing.{u_1} A (Ring.toNonAssocRing.{u_1} A (CommRing.toRing.{u_1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u_1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_1} A (NonAssocRing.toNonUnitalNonAssocRing.{u_1} A (Ring.toNonAssocRing.{u_1} A (CommRing.toRing.{u_1} A _inst_8))))) M M') (OfNat.ofNat.{max u_1 u_2} (Matrix.{u_2, u_2, u_1} m m A) 1 (One.toOfNat1.{max u_1 u_2} (Matrix.{u_2, u_2, u_1} m m A) (Matrix.one.{u_1, u_2} m A (fun (a : m) (b : m) => _inst_12 a b) (CommMonoidWithZero.toZero.{u_1} A (CommSemiring.toCommMonoidWithZero.{u_1} A (CommRing.toCommSemiring.{u_1} A _inst_8))) (Semiring.toOne.{u_1} A (CommSemiring.toSemiring.{u_1} A (CommRing.toCommSemiring.{u_1} A _inst_8))))))) -> (Eq.{max (succ u_1) (succ u_3)} (Matrix.{u_3, u_3, u_1} n n A) (Matrix.mul.{u_1, u_3, u_2, u_3} n m n A _inst_9 (NonUnitalNonAssocRing.toMul.{u_1} A (NonAssocRing.toNonUnitalNonAssocRing.{u_1} A (Ring.toNonAssocRing.{u_1} A (CommRing.toRing.{u_1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u_1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_1} A (NonAssocRing.toNonUnitalNonAssocRing.{u_1} A (Ring.toNonAssocRing.{u_1} A (CommRing.toRing.{u_1} A _inst_8))))) M' M) (OfNat.ofNat.{max u_1 u_3} (Matrix.{u_3, u_3, u_1} n n A) 1 (One.toOfNat1.{max u_1 u_3} (Matrix.{u_3, u_3, u_1} n n A) (Matrix.one.{u_1, u_3} n A (fun (a : n) (b : n) => _inst_13 a b) (CommMonoidWithZero.toZero.{u_1} A (CommSemiring.toCommMonoidWithZero.{u_1} A (CommRing.toCommSemiring.{u_1} A _inst_8))) (Semiring.toOne.{u_1} A (CommSemiring.toSemiring.{u_1} A (CommRing.toCommSemiring.{u_1} A _inst_8))))))) -> (Equiv.{succ u_2, succ u_3} m n)
 Case conversion may be inaccurate. Consider using '#align matrix.index_equiv_of_inv Matrix.indexEquivOfInvₓ'. -/
 /-- If `M` and `M'` are each other's inverse matrices, they are square matrices up to
 equivalence of types. -/
@@ -116,7 +116,7 @@ theorem det_comm [DecidableEq n] (M N : Matrix n n A) : det (M ⬝ N) = det (N 
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {m : Type.{u2}} {n : Type.{u3}} [_inst_9 : Fintype.{u2} m] [_inst_10 : Fintype.{u3} n] [_inst_11 : DecidableEq.{succ u2} m] [_inst_12 : DecidableEq.{succ u3} n] {M : Matrix.{u3, u2, u1} n m A} {N : Matrix.{u2, u3, u1} m n A} {M' : Matrix.{u2, u3, u1} m n A}, (Eq.{succ (max u3 u1)} (Matrix.{u3, u3, u1} n n A) (Matrix.mul.{u1, u3, u2, u3} n m n A _inst_9 (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A (CommRing.toRing.{u1} A _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M M') (OfNat.ofNat.{max u3 u1} (Matrix.{u3, u3, u1} n n A) 1 (OfNat.mk.{max u3 u1} (Matrix.{u3, u3, u1} n n A) 1 (One.one.{max u3 u1} (Matrix.{u3, u3, u1} n n A) (Matrix.hasOne.{u1, u3} n A (fun (a : n) (b : n) => _inst_12 a b) (MulZeroClass.toHasZero.{u1} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddMonoidWithOne.toOne.{u1} A (AddGroupWithOne.toAddMonoidWithOne.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A (CommRing.toRing.{u1} A _inst_8)))))))))) -> (Eq.{succ (max u2 u1)} (Matrix.{u2, u2, u1} m m A) (Matrix.mul.{u1, u2, u3, u2} m n m A _inst_10 (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A (CommRing.toRing.{u1} A _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M' M) (OfNat.ofNat.{max u2 u1} (Matrix.{u2, u2, u1} m m A) 1 (OfNat.mk.{max u2 u1} (Matrix.{u2, u2, u1} m m A) 1 (One.one.{max u2 u1} (Matrix.{u2, u2, u1} m m A) (Matrix.hasOne.{u1, u2} m A (fun (a : m) (b : m) => _inst_11 a b) (MulZeroClass.toHasZero.{u1} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddMonoidWithOne.toOne.{u1} A (AddGroupWithOne.toAddMonoidWithOne.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A (CommRing.toRing.{u1} A _inst_8)))))))))) -> (Eq.{succ u1} A (Matrix.det.{u1, u3} n (fun (a : n) (b : n) => _inst_12 a b) _inst_10 A _inst_8 (Matrix.mul.{u1, u3, u2, u3} n m n A _inst_9 (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A (CommRing.toRing.{u1} A _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M N)) (Matrix.det.{u1, u2} m (fun (a : m) (b : m) => _inst_11 a b) _inst_9 A _inst_8 (Matrix.mul.{u1, u2, u3, u2} m n m A _inst_10 (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A (CommRing.toRing.{u1} A _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) N M)))
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {m : Type.{u3}} {n : Type.{u2}} [_inst_9 : Fintype.{u3} m] [_inst_10 : Fintype.{u2} n] [_inst_11 : DecidableEq.{succ u3} m] [_inst_12 : DecidableEq.{succ u2} n] {M : Matrix.{u2, u3, u1} n m A} {N : Matrix.{u3, u2, u1} m n A} {M' : Matrix.{u3, u2, u1} m n A}, (Eq.{max (succ u1) (succ u2)} (Matrix.{u2, u2, u1} n n A) (Matrix.mul.{u1, u2, u3, u2} n m n A _inst_9 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M M') (OfNat.ofNat.{max u1 u2} (Matrix.{u2, u2, u1} n n A) 1 (One.toOfNat1.{max u1 u2} (Matrix.{u2, u2, u1} n n A) (Matrix.one.{u1, u2} n A (fun (a : n) (b : n) => _inst_12 a b) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (NonAssocRing.toOne.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))))) -> (Eq.{max (succ u1) (succ u3)} (Matrix.{u3, u3, u1} m m A) (Matrix.mul.{u1, u3, u2, u3} m n m A _inst_10 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M' M) (OfNat.ofNat.{max u1 u3} (Matrix.{u3, u3, u1} m m A) 1 (One.toOfNat1.{max u1 u3} (Matrix.{u3, u3, u1} m m A) (Matrix.one.{u1, u3} m A (fun (a : m) (b : m) => _inst_11 a b) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (NonAssocRing.toOne.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))))) -> (Eq.{succ u1} A (Matrix.det.{u1, u2} n (fun (a : n) (b : n) => _inst_12 a b) _inst_10 A _inst_8 (Matrix.mul.{u1, u2, u3, u2} n m n A _inst_9 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M N)) (Matrix.det.{u1, u3} m (fun (a : m) (b : m) => _inst_11 a b) _inst_9 A _inst_8 (Matrix.mul.{u1, u3, u2, u3} m n m A _inst_10 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) N M)))
+  forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {m : Type.{u3}} {n : Type.{u2}} [_inst_9 : Fintype.{u3} m] [_inst_10 : Fintype.{u2} n] [_inst_11 : DecidableEq.{succ u3} m] [_inst_12 : DecidableEq.{succ u2} n] {M : Matrix.{u2, u3, u1} n m A} {N : Matrix.{u3, u2, u1} m n A} {M' : Matrix.{u3, u2, u1} m n A}, (Eq.{max (succ u1) (succ u2)} (Matrix.{u2, u2, u1} n n A) (Matrix.mul.{u1, u2, u3, u2} n m n A _inst_9 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M M') (OfNat.ofNat.{max u1 u2} (Matrix.{u2, u2, u1} n n A) 1 (One.toOfNat1.{max u1 u2} (Matrix.{u2, u2, u1} n n A) (Matrix.one.{u1, u2} n A (fun (a : n) (b : n) => _inst_12 a b) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (Semiring.toOne.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) -> (Eq.{max (succ u1) (succ u3)} (Matrix.{u3, u3, u1} m m A) (Matrix.mul.{u1, u3, u2, u3} m n m A _inst_10 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M' M) (OfNat.ofNat.{max u1 u3} (Matrix.{u3, u3, u1} m m A) 1 (One.toOfNat1.{max u1 u3} (Matrix.{u3, u3, u1} m m A) (Matrix.one.{u1, u3} m A (fun (a : m) (b : m) => _inst_11 a b) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (Semiring.toOne.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) -> (Eq.{succ u1} A (Matrix.det.{u1, u2} n (fun (a : n) (b : n) => _inst_12 a b) _inst_10 A _inst_8 (Matrix.mul.{u1, u2, u3, u2} n m n A _inst_9 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M N)) (Matrix.det.{u1, u3} m (fun (a : m) (b : m) => _inst_11 a b) _inst_9 A _inst_8 (Matrix.mul.{u1, u3, u2, u3} m n m A _inst_10 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) N M)))
 Case conversion may be inaccurate. Consider using '#align matrix.det_comm' Matrix.det_comm'ₓ'. -/
 /-- If there exists a two-sided inverse `M'` for `M` (indexed differently),
 then `det (N ⬝ M) = det (M ⬝ N)`. -/
@@ -135,7 +135,7 @@ theorem det_comm' [DecidableEq m] [DecidableEq n] {M : Matrix n m A} {N : Matrix
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {m : Type.{u2}} {n : Type.{u3}} [_inst_9 : Fintype.{u2} m] [_inst_10 : Fintype.{u3} n] [_inst_11 : DecidableEq.{succ u2} m] [_inst_12 : DecidableEq.{succ u3} n] {M : Matrix.{u2, u3, u1} m n A} {M' : Matrix.{u3, u2, u1} n m A} {N : Matrix.{u3, u3, u1} n n A}, (Eq.{succ (max u2 u1)} (Matrix.{u2, u2, u1} m m A) (Matrix.mul.{u1, u2, u3, u2} m n m A _inst_10 (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A (CommRing.toRing.{u1} A _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M M') (OfNat.ofNat.{max u2 u1} (Matrix.{u2, u2, u1} m m A) 1 (OfNat.mk.{max u2 u1} (Matrix.{u2, u2, u1} m m A) 1 (One.one.{max u2 u1} (Matrix.{u2, u2, u1} m m A) (Matrix.hasOne.{u1, u2} m A (fun (a : m) (b : m) => _inst_11 a b) (MulZeroClass.toHasZero.{u1} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddMonoidWithOne.toOne.{u1} A (AddGroupWithOne.toAddMonoidWithOne.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A (CommRing.toRing.{u1} A _inst_8)))))))))) -> (Eq.{succ (max u3 u1)} (Matrix.{u3, u3, u1} n n A) (Matrix.mul.{u1, u3, u2, u3} n m n A _inst_9 (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A (CommRing.toRing.{u1} A _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M' M) (OfNat.ofNat.{max u3 u1} (Matrix.{u3, u3, u1} n n A) 1 (OfNat.mk.{max u3 u1} (Matrix.{u3, u3, u1} n n A) 1 (One.one.{max u3 u1} (Matrix.{u3, u3, u1} n n A) (Matrix.hasOne.{u1, u3} n A (fun (a : n) (b : n) => _inst_12 a b) (MulZeroClass.toHasZero.{u1} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddMonoidWithOne.toOne.{u1} A (AddGroupWithOne.toAddMonoidWithOne.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A (CommRing.toRing.{u1} A _inst_8)))))))))) -> (Eq.{succ u1} A (Matrix.det.{u1, u2} m (fun (a : m) (b : m) => _inst_11 a b) _inst_9 A _inst_8 (Matrix.mul.{u1, u2, u3, u2} m n m A _inst_10 (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A (CommRing.toRing.{u1} A _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Matrix.mul.{u1, u2, u3, u3} m n n A _inst_10 (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A (CommRing.toRing.{u1} A _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M N) M')) (Matrix.det.{u1, u3} n (fun (a : n) (b : n) => _inst_12 a b) _inst_10 A _inst_8 N))
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {m : Type.{u3}} {n : Type.{u2}} [_inst_9 : Fintype.{u3} m] [_inst_10 : Fintype.{u2} n] [_inst_11 : DecidableEq.{succ u3} m] [_inst_12 : DecidableEq.{succ u2} n] {M : Matrix.{u3, u2, u1} m n A} {M' : Matrix.{u2, u3, u1} n m A} {N : Matrix.{u2, u2, u1} n n A}, (Eq.{max (succ u1) (succ u3)} (Matrix.{u3, u3, u1} m m A) (Matrix.mul.{u1, u3, u2, u3} m n m A _inst_10 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M M') (OfNat.ofNat.{max u1 u3} (Matrix.{u3, u3, u1} m m A) 1 (One.toOfNat1.{max u1 u3} (Matrix.{u3, u3, u1} m m A) (Matrix.one.{u1, u3} m A (fun (a : m) (b : m) => _inst_11 a b) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (NonAssocRing.toOne.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))))) -> (Eq.{max (succ u1) (succ u2)} (Matrix.{u2, u2, u1} n n A) (Matrix.mul.{u1, u2, u3, u2} n m n A _inst_9 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M' M) (OfNat.ofNat.{max u1 u2} (Matrix.{u2, u2, u1} n n A) 1 (One.toOfNat1.{max u1 u2} (Matrix.{u2, u2, u1} n n A) (Matrix.one.{u1, u2} n A (fun (a : n) (b : n) => _inst_12 a b) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (NonAssocRing.toOne.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))))) -> (Eq.{succ u1} A (Matrix.det.{u1, u3} m (fun (a : m) (b : m) => _inst_11 a b) _inst_9 A _inst_8 (Matrix.mul.{u1, u3, u2, u3} m n m A _inst_10 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Matrix.mul.{u1, u3, u2, u2} m n n A _inst_10 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M N) M')) (Matrix.det.{u1, u2} n (fun (a : n) (b : n) => _inst_12 a b) _inst_10 A _inst_8 N))
+  forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {m : Type.{u3}} {n : Type.{u2}} [_inst_9 : Fintype.{u3} m] [_inst_10 : Fintype.{u2} n] [_inst_11 : DecidableEq.{succ u3} m] [_inst_12 : DecidableEq.{succ u2} n] {M : Matrix.{u3, u2, u1} m n A} {M' : Matrix.{u2, u3, u1} n m A} {N : Matrix.{u2, u2, u1} n n A}, (Eq.{max (succ u1) (succ u3)} (Matrix.{u3, u3, u1} m m A) (Matrix.mul.{u1, u3, u2, u3} m n m A _inst_10 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M M') (OfNat.ofNat.{max u1 u3} (Matrix.{u3, u3, u1} m m A) 1 (One.toOfNat1.{max u1 u3} (Matrix.{u3, u3, u1} m m A) (Matrix.one.{u1, u3} m A (fun (a : m) (b : m) => _inst_11 a b) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (Semiring.toOne.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) -> (Eq.{max (succ u1) (succ u2)} (Matrix.{u2, u2, u1} n n A) (Matrix.mul.{u1, u2, u3, u2} n m n A _inst_9 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M' M) (OfNat.ofNat.{max u1 u2} (Matrix.{u2, u2, u1} n n A) 1 (One.toOfNat1.{max u1 u2} (Matrix.{u2, u2, u1} n n A) (Matrix.one.{u1, u2} n A (fun (a : n) (b : n) => _inst_12 a b) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (Semiring.toOne.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) -> (Eq.{succ u1} A (Matrix.det.{u1, u3} m (fun (a : m) (b : m) => _inst_11 a b) _inst_9 A _inst_8 (Matrix.mul.{u1, u3, u2, u3} m n m A _inst_10 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Matrix.mul.{u1, u3, u2, u2} m n n A _inst_10 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M N) M')) (Matrix.det.{u1, u2} n (fun (a : n) (b : n) => _inst_12 a b) _inst_10 A _inst_8 N))
 Case conversion may be inaccurate. Consider using '#align matrix.det_conj_of_mul_eq_one Matrix.det_conj_of_mul_eq_oneₓ'. -/
 /-- If `M'` is a two-sided inverse for `M` (indexed differently), `det (M ⬝ N ⬝ M') = det N`.
 
@@ -163,7 +163,7 @@ variable {κ : Type _} [Fintype κ]
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Module.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {κ : Type.{u4}} [_inst_10 : Fintype.{u4} κ] [_inst_11 : DecidableEq.{succ u4} κ] (b : Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (c : Basis.{u4, u3, u1} κ A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u3} A (Matrix.det.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (coeFn.{max (succ u1) (succ (max u2 u3)), max (succ u1) (succ (max u2 u3))} (LinearEquiv.{u3, u3, u1, max u2 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (fun (_x : LinearEquiv.{u3, u3, u1, max u2 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) => (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> (Matrix.{u2, u2, u3} ι ι A)) (LinearEquiv.hasCoeToFun.{u3, u3, u1, max u2 u3} A A (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))) (LinearMap.toMatrix.{u3, u2, u2, u1, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f)) (Matrix.det.{u3, u4} κ (fun (a : κ) (b : κ) => _inst_11 a b) _inst_10 A _inst_8 (coeFn.{max (succ u1) (succ (max u4 u3)), max (succ u1) (succ (max u4 u3))} (LinearEquiv.{u3, u3, u1, max u4 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u3} κ κ A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u4, u4, u3} κ κ A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (fun (_x : LinearEquiv.{u3, u3, u1, max u4 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u3} κ κ A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u4, u4, u3} κ κ A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) => (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> (Matrix.{u4, u4, u3} κ κ A)) (LinearEquiv.hasCoeToFun.{u3, u3, u1, max u4 u3} A A (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u3} κ κ A) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u4, u4, u3} κ κ A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))) (LinearMap.toMatrix.{u3, u4, u4, u1, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) κ κ _inst_10 _inst_10 (fun (a : κ) (b : κ) => _inst_11 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 c c) f))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {κ : Type.{u4}} [_inst_10 : Fintype.{u4} κ] [_inst_11 : DecidableEq.{succ u4} κ] (b : Basis.{u3, u2, u1} ι A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (c : Basis.{u4, u2, u1} κ A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} A (Matrix.det.{u2, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => Matrix.{u3, u3, u2} ι ι A) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (SMulZeroClass.toSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toZero.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toAddZeroClass.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u1 u3) u2} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u1 u3) u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u3, u3, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f)) (Matrix.det.{u2, u4} κ (fun (a : κ) (b : κ) => _inst_11 a b) _inst_10 A _inst_8 (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), succ u1, max (succ u2) (succ u4)} (LinearEquiv.{u2, u2, u1, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => Matrix.{u4, u4, u2} κ κ A) _x) (SMulHomClass.toFunLike.{max (max u1 u2) u4, u2, u1, max u2 u4} (LinearEquiv.{u2, u2, u1, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (SMulZeroClass.toSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u2 u4} A (Matrix.{u4, u4, u2} κ κ A) (AddMonoid.toZero.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u4} A (Matrix.{u4, u4, u2} κ κ A) (AddMonoid.toAddZeroClass.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u4} A (Matrix.{u4, u4, u2} κ κ A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u2 u4} A (Matrix.{u4, u4, u2} κ κ A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u2) u4, u2, u1, max u2 u4} (LinearEquiv.{u2, u2, u1, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u2 u4} A (Matrix.{u4, u4, u2} κ κ A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u2 u4, max (max u1 u2) u4} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearEquiv.{u2, u2, u1, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u2 u4, max (max u1 u2) u4} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearEquiv.{u2, u2, u1, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u2 u4} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u4, u4, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) κ κ _inst_10 _inst_10 (fun (a : κ) (b : κ) => _inst_11 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 c c) f))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {κ : Type.{u4}} [_inst_10 : Fintype.{u4} κ] [_inst_11 : DecidableEq.{succ u4} κ] (b : Basis.{u3, u2, u1} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (c : Basis.{u4, u2, u1} κ A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} A (Matrix.det.{u2, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => Matrix.{u3, u3, u2} ι ι A) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (SMulZeroClass.toSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toZero.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toAddZeroClass.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u1 u3) u2} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u1 u3) u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u3, u3, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f)) (Matrix.det.{u2, u4} κ (fun (a : κ) (b : κ) => _inst_11 a b) _inst_10 A _inst_8 (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), succ u1, max (succ u2) (succ u4)} (LinearEquiv.{u2, u2, u1, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => Matrix.{u4, u4, u2} κ κ A) _x) (SMulHomClass.toFunLike.{max (max u1 u2) u4, u2, u1, max u2 u4} (LinearEquiv.{u2, u2, u1, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (SMulZeroClass.toSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u2 u4} A (Matrix.{u4, u4, u2} κ κ A) (AddMonoid.toZero.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u4} A (Matrix.{u4, u4, u2} κ κ A) (AddMonoid.toAddZeroClass.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u4} A (Matrix.{u4, u4, u2} κ κ A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u2 u4} A (Matrix.{u4, u4, u2} κ κ A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u2) u4, u2, u1, max u2 u4} (LinearEquiv.{u2, u2, u1, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u2 u4} A (Matrix.{u4, u4, u2} κ κ A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u2 u4, max (max u1 u2) u4} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearEquiv.{u2, u2, u1, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u2 u4, max (max u1 u2) u4} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearEquiv.{u2, u2, u1, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u2 u4} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u4, u4, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) κ κ _inst_10 _inst_10 (fun (a : κ) (b : κ) => _inst_11 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 c c) f))
 Case conversion may be inaccurate. Consider using '#align linear_map.det_to_matrix_eq_det_to_matrix LinearMap.det_toMatrix_eq_det_toMatrixₓ'. -/
 /-- The determinant of `linear_map.to_matrix` does not depend on the choice of basis. -/
 theorem det_toMatrix_eq_det_toMatrix [DecidableEq κ] (b : Basis ι A M) (c : Basis κ A M)
@@ -194,7 +194,7 @@ irreducible_def detAux : Trunc (Basis ι A M) → (M →ₗ[A] M) →* A :=
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Module.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (b : Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u3} A (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.detAux.{u1, u2, u3} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 (Trunc.mk.{max (succ u2) (succ u3) (succ u1)} (Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) b)) f) (Matrix.det.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (coeFn.{max (succ u1) (succ (max u2 u3)), max (succ u1) (succ (max u2 u3))} (LinearEquiv.{u3, u3, u1, max u2 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (fun (_x : LinearEquiv.{u3, u3, u1, max u2 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) => (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> (Matrix.{u2, u2, u3} ι ι A)) (LinearEquiv.hasCoeToFun.{u3, u3, u1, max u2 u3} A A (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))) (LinearMap.toMatrix.{u3, u2, u2, u1, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (b : Basis.{u3, u2, u1} ι A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.detAux.{u1, u3, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 (Trunc.mk.{max (max (succ u2) (succ u3)) (succ u1)} (Basis.{u3, u2, u1} ι A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) b)) f) (Matrix.det.{u2, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => Matrix.{u3, u3, u2} ι ι A) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (SMulZeroClass.toSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toZero.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toAddZeroClass.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u1 u3) u2} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u1 u3) u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u3, u3, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (b : Basis.{u3, u2, u1} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.detAux.{u1, u3, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 (Trunc.mk.{max (max (succ u2) (succ u3)) (succ u1)} (Basis.{u3, u2, u1} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) b)) f) (Matrix.det.{u2, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => Matrix.{u3, u3, u2} ι ι A) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (SMulZeroClass.toSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toZero.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toAddZeroClass.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u1 u3) u2} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u1 u3) u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u3, u3, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f))
 Case conversion may be inaccurate. Consider using '#align linear_map.det_aux_def LinearMap.detAux_def'ₓ'. -/
 /-- Unfold lemma for `det_aux`.
 
@@ -211,7 +211,7 @@ theorem detAux_def' (b : Basis ι A M) (f : M →ₗ[A] M) :
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Module.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι' : Type.{u4}} [_inst_11 : Fintype.{u4} ι'] [_inst_12 : DecidableEq.{succ u4} ι'] (tb : Trunc.{max (succ u2) (succ u3) (succ u1)} (Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (b' : Basis.{u4, u3, u1} ι' A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u3} A (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.detAux.{u1, u2, u3} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 tb) f) (Matrix.det.{u3, u4} ι' (fun (a : ι') (b : ι') => _inst_12 a b) _inst_11 A _inst_8 (coeFn.{max (succ u1) (succ (max u4 u3)), max (succ u1) (succ (max u4 u3))} (LinearEquiv.{u3, u3, u1, max u4 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u3} ι' ι' A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u4, u4, u3} ι' ι' A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (fun (_x : LinearEquiv.{u3, u3, u1, max u4 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u3} ι' ι' A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u4, u4, u3} ι' ι' A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) => (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> (Matrix.{u4, u4, u3} ι' ι' A)) (LinearEquiv.hasCoeToFun.{u3, u3, u1, max u4 u3} A A (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u3} ι' ι' A) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u4, u4, u3} ι' ι' A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))) (LinearMap.toMatrix.{u3, u4, u4, u1, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) ι' ι' _inst_11 _inst_11 (fun (a : ι') (b : ι') => _inst_12 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b' b') f))
 but is expected to have type
-  forall {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] {ι' : Type.{u4}} [_inst_11 : Fintype.{u4} ι'] [_inst_12 : DecidableEq.{succ u4} ι'] (tb : Trunc.{max (max (succ u3) (succ u2)) (succ u1)} (Basis.{u1, u2, u3} ι A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (b' : Basis.{u4, u2, u3} ι' A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.detAux.{u3, u1, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 tb) f) (Matrix.det.{u2, u4} ι' (fun (a : ι') (b : ι') => _inst_12 a b) _inst_11 A _inst_8 (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u4), succ u3, max (succ u2) (succ u4)} (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => Matrix.{u4, u4, u2} ι' ι' A) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u4, u2, u3, max u2 u4} (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (SMulZeroClass.toSMul.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (AddMonoid.toZero.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (AddMonoid.toAddZeroClass.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u4, u2, u3, max u2 u4} (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u3, max u2 u4, max (max u3 u2) u4} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u3, max u2 u4, max (max u3 u2) u4} A A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u3, max u2 u4} A A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u4, u4, u3, u3} A (CommRing.toCommSemiring.{u2} A _inst_8) ι' ι' _inst_11 _inst_11 (fun (a : ι') (b : ι') => _inst_12 a b) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 b' b') f))
+  forall {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] {ι' : Type.{u4}} [_inst_11 : Fintype.{u4} ι'] [_inst_12 : DecidableEq.{succ u4} ι'] (tb : Trunc.{max (max (succ u3) (succ u2)) (succ u1)} (Basis.{u1, u2, u3} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (b' : Basis.{u4, u2, u3} ι' A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.detAux.{u3, u1, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 tb) f) (Matrix.det.{u2, u4} ι' (fun (a : ι') (b : ι') => _inst_12 a b) _inst_11 A _inst_8 (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u4), succ u3, max (succ u2) (succ u4)} (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => Matrix.{u4, u4, u2} ι' ι' A) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u4, u2, u3, max u2 u4} (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (SMulZeroClass.toSMul.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (AddMonoid.toZero.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (AddMonoid.toAddZeroClass.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u4, u2, u3, max u2 u4} (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u3, max u2 u4, max (max u3 u2) u4} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u3, max u2 u4, max (max u3 u2) u4} A A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u3, max u2 u4} A A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u4, u4, u3, u3} A (CommRing.toCommSemiring.{u2} A _inst_8) ι' ι' _inst_11 _inst_11 (fun (a : ι') (b : ι') => _inst_12 a b) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 b' b') f))
 Case conversion may be inaccurate. Consider using '#align linear_map.det_aux_def' LinearMap.detAux_def''ₓ'. -/
 theorem detAux_def'' {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (tb : Trunc <| Basis ι A M)
     (b' : Basis ι' A M) (f : M →ₗ[A] M) :
@@ -226,7 +226,7 @@ theorem detAux_def'' {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (tb : Trunc
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Module.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (b : Trunc.{max (succ u2) (succ u3) (succ u1)} (Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)), Eq.{succ u3} A (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.detAux.{u1, u2, u3} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) (LinearMap.id.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (OfNat.ofNat.{u3} A 1 (OfNat.mk.{u3} A 1 (One.one.{u3} A (AddMonoidWithOne.toOne.{u3} A (AddGroupWithOne.toAddMonoidWithOne.{u3} A (AddCommGroupWithOne.toAddGroupWithOne.{u3} A (Ring.toAddCommGroupWithOne.{u3} A (CommRing.toRing.{u3} A _inst_8))))))))
 but is expected to have type
-  forall {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (b : Trunc.{max (max (succ u3) (succ u2)) (succ u1)} (Basis.{u1, u2, u3} ι A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.detAux.{u3, u1, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) (LinearMap.id.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (NonAssocRing.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) _inst_8)))))
+  forall {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (b : Trunc.{max (max (succ u3) (succ u2)) (succ u1)} (Basis.{u1, u2, u3} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.detAux.{u3, u1, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) (LinearMap.id.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (Semiring.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) _inst_8)))))
 Case conversion may be inaccurate. Consider using '#align linear_map.det_aux_id LinearMap.detAux_idₓ'. -/
 @[simp]
 theorem detAux_id (b : Trunc <| Basis ι A M) : LinearMap.detAux b LinearMap.id = 1 :=
@@ -237,7 +237,7 @@ theorem detAux_id (b : Trunc <| Basis ι A M) : LinearMap.detAux b LinearMap.id
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Module.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (b : Trunc.{max (succ u2) (succ u3) (succ u1)} (Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (f : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (g : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u3} A (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.detAux.{u1, u2, u3} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) (LinearMap.comp.{u3, u3, u3, u1, u1, u1} A A A M M M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) (RingHomCompTriple.right_ids.{u3, u3} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))))) f g)) (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (Ring.toDistrib.{u3} A (CommRing.toRing.{u3} A _inst_8)))) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.detAux.{u1, u2, u3} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) f) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.detAux.{u1, u2, u3} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) g))
 but is expected to have type
-  forall {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (b : Trunc.{max (max (succ u3) (succ u2)) (succ u1)} (Basis.{u1, u2, u3} ι A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (f : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (g : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.comp.{u2, u2, u2, u3, u3, u3} A A A M M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) f g)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.detAux.{u3, u1, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) (LinearMap.comp.{u2, u2, u2, u3, u3, u3} A A A M M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) f g)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) _inst_8))))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.detAux.{u3, u1, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) f) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.detAux.{u3, u1, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) g))
+  forall {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (b : Trunc.{max (max (succ u3) (succ u2)) (succ u1)} (Basis.{u1, u2, u3} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (f : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (g : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.comp.{u2, u2, u2, u3, u3, u3} A A A M M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) f g)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.detAux.{u3, u1, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) (LinearMap.comp.{u2, u2, u2, u3, u3, u3} A A A M M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) f g)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) _inst_8))))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.detAux.{u3, u1, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) f) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.detAux.{u3, u1, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) g))
 Case conversion may be inaccurate. Consider using '#align linear_map.det_aux_comp LinearMap.detAux_compₓ'. -/
 @[simp]
 theorem detAux_comp (b : Trunc <| Basis ι A M) (f g : M →ₗ[A] M) :
@@ -266,7 +266,7 @@ protected irreducible_def det : (M →ₗ[A] M) →* A :=
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] [_inst_11 : DecidableEq.{succ u1} M], Eq.{max (succ u1) (succ u2)} ((LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9)) (dite.{max (succ u1) (succ u2)} ((LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (Exists.{succ u1} (Finset.{u1} M) (fun (s : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))) (Classical.propDecidable (Exists.{succ u1} (Finset.{u1} M) (fun (s : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (fun (H : Exists.{succ u1} (Finset.{u1} M) (fun (s : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))) => coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.detAux.{u1, u1, u2} M _inst_2 (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) (Exists.choose.{succ u1} (Finset.{u1} M) (fun (a : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) a) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) H)) (fun (a : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) (Exists.choose.{succ u1} (Finset.{u1} M) (fun (a : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) a) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) H)) (b : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) (Exists.choose.{succ u1} (Finset.{u1} M) (fun (a : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) a) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) H)) => Subtype.decidableEq.{u1} M (fun (x : M) => Membership.Mem.{u1, u1} M (Finset.{u1} M) (Finset.hasMem.{u1} M) x (Exists.choose.{succ u1} (Finset.{u1} M) (fun (a : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) a) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) H)) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u1} M (Exists.choose.{succ u1} (Finset.{u1} M) (fun (a : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) a) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) H)) A _inst_8 _inst_9 (Trunc.mk.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) (Exists.choose.{succ u1} (Finset.{u1} M) (fun (a : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) a) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) H)) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (Nonempty.some.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) (Exists.choose.{succ u1} (Finset.{u1} M) (fun (a : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) a) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) H)) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (Exists.choose_spec.{succ u1} (Finset.{u1} M) (fun (s : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) H))))) (fun (H : Not (Exists.{succ u1} (Finset.{u1} M) (fun (s : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) => OfNat.ofNat.{max u1 u2} ((LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) 1 (OfNat.mk.{max u1 u2} ((LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) 1 (One.one.{max u1 u2} ((LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (Pi.instOne.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (ᾰ : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (fun (i : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => AddMonoidWithOne.toOne.{u2} A (AddGroupWithOne.toAddMonoidWithOne.{u2} A (AddCommGroupWithOne.toAddGroupWithOne.{u2} A (Ring.toAddCommGroupWithOne.{u2} A (CommRing.toRing.{u2} A _inst_8))))))))))
 but is expected to have type
-  forall {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] [_inst_9 : Module.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_11 : DecidableEq.{succ u2} M], Eq.{max (succ u2) (succ u1)} (forall (ᾰ : LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))))) (LinearMap.det.{u2, u1} M _inst_2 A _inst_8 _inst_9)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (a : LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) a) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))))) (dite.{max (succ u1) (succ u2)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Exists.{succ u2} (Finset.{u2} M) (fun (s : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))) (Classical.propDecidable (Exists.{succ u2} (Finset.{u2} M) (fun (s : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (fun (H : Exists.{succ u2} (Finset.{u2} M) (fun (s : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))) => LinearMap.detAux.{u2, u2, u1} M _inst_2 (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H))) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H))) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H))) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H)) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u2} M (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H)) A _inst_8 _inst_9 (Trunc.mk.{max (succ u1) (succ u2)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H))) A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9) (Nonempty.some.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H))) A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9) (Exists.choose_spec.{succ u2} (Finset.{u2} M) (fun (s : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H)))) (fun (H : Not (Exists.{succ u2} (Finset.{u2} M) (fun (s : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) => OfNat.ofNat.{max u2 u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) 1 (One.toOfNat1.{max u2 u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (instOneMonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))))
+  forall {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] [_inst_9 : Module.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_11 : DecidableEq.{succ u2} M], Eq.{max (succ u2) (succ u1)} (forall (ᾰ : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.det.{u2, u1} M _inst_2 A _inst_8 _inst_9)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (a : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) a) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (dite.{max (succ u1) (succ u2)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Exists.{succ u2} (Finset.{u2} M) (fun (s : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))) (Classical.propDecidable (Exists.{succ u2} (Finset.{u2} M) (fun (s : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (fun (H : Exists.{succ u2} (Finset.{u2} M) (fun (s : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))) => LinearMap.detAux.{u2, u2, u1} M _inst_2 (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H))) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H))) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H))) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H)) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u2} M (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H)) A _inst_8 _inst_9 (Trunc.mk.{max (succ u1) (succ u2)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H))) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9) (Nonempty.some.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H))) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9) (Exists.choose_spec.{succ u2} (Finset.{u2} M) (fun (s : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H)))) (fun (H : Not (Exists.{succ u2} (Finset.{u2} M) (fun (s : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) => OfNat.ofNat.{max u2 u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) 1 (One.toOfNat1.{max u2 u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (instOneMonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))))))
 Case conversion may be inaccurate. Consider using '#align linear_map.coe_det LinearMap.coe_detₓ'. -/
 theorem coe_det [DecidableEq M] :
     ⇑(LinearMap.det : (M →ₗ[A] M) →* A) =
@@ -288,7 +288,7 @@ end
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] [_inst_11 : DecidableEq.{succ u1} M] {s : Finset.{u1} M} (b : Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} A (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f) (Matrix.det.{u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (fun (a : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (b : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) => Subtype.decidableEq.{u1} M (fun (x : M) => Membership.Mem.{u1, u1} M (Finset.{u1} M) (Finset.hasMem.{u1} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u1} M s) A _inst_8 (coeFn.{max (succ u1) (succ (max u1 u2)), max (succ u1) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u1, max u1 u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.toMatrix._proof_2.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.module.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u2, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u2, u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (fun (_x : LinearEquiv.{u2, u2, u1, max u1 u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.toMatrix._proof_2.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.module.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u2, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u2, u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) => (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A)) (LinearEquiv.hasCoeToFun.{u2, u2, u1, max u1 u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.module.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u2, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u2, u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.toMatrix._proof_2.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.toMatrix.{u2, u1, u1, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (Finset.Subtype.fintype.{u1} M s) (Finset.Subtype.fintype.{u1} M s) (fun (a : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (b : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) => Subtype.decidableEq.{u1} M (fun (x : M) => Membership.Mem.{u1, u1} M (Finset.{u1} M) (Finset.hasMem.{u1} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f))
 but is expected to have type
-  forall {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] [_inst_9 : Module.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_11 : DecidableEq.{succ u2} M] {s : Finset.{u2} M} (b : Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9) (f : LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))))) (LinearMap.det.{u2, u1} M _inst_2 A _inst_8 _inst_9) f) (Matrix.det.{u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u2} M s) A _inst_8 (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, u2, max u2 u1} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (SMulZeroClass.toSMul.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Module.toDistribMulAction.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, u2, max u2 u1} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, max u2 u1, max u2 u1} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, max u2 u1} A A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.toMatrix.{u1, u2, u2, u2, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Finset.Subtype.fintype.{u2} M s) (Finset.Subtype.fintype.{u2} M s) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 b b) f))
+  forall {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] [_inst_9 : Module.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_11 : DecidableEq.{succ u2} M] {s : Finset.{u2} M} (b : Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9) (f : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.det.{u2, u1} M _inst_2 A _inst_8 _inst_9) f) (Matrix.det.{u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u2} M s) A _inst_8 (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, u2, max u2 u1} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (SMulZeroClass.toSMul.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Module.toDistribMulAction.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, u2, max u2 u1} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, max u2 u1, max u2 u1} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, max u2 u1} A A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.toMatrix.{u1, u2, u2, u2, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Finset.Subtype.fintype.{u2} M s) (Finset.Subtype.fintype.{u2} M s) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 b b) f))
 Case conversion may be inaccurate. Consider using '#align linear_map.det_eq_det_to_matrix_of_finset LinearMap.det_eq_det_toMatrix_of_finsetₓ'. -/
 -- Auxiliary lemma, the `simp` normal form goes in the other direction
 -- (using `linear_map.det_to_matrix`)
@@ -303,7 +303,7 @@ theorem det_eq_det_toMatrix_of_finset [DecidableEq M] {s : Finset M} (b : Basis
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Module.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (b : Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u3} A (Matrix.det.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (coeFn.{max (succ u1) (succ (max u2 u3)), max (succ u1) (succ (max u2 u3))} (LinearEquiv.{u3, u3, u1, max u2 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (fun (_x : LinearEquiv.{u3, u3, u1, max u2 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) => (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> (Matrix.{u2, u2, u3} ι ι A)) (LinearEquiv.hasCoeToFun.{u3, u3, u1, max u2 u3} A A (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))) (LinearMap.toMatrix.{u3, u2, u2, u1, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f)) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.det.{u1, u3} M _inst_2 A _inst_8 _inst_9) f)
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (b : Basis.{u3, u2, u1} ι A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} A (Matrix.det.{u2, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => Matrix.{u3, u3, u2} ι ι A) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (SMulZeroClass.toSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toZero.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toAddZeroClass.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u1 u3) u2} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u1 u3) u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u3, u3, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f)
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (b : Basis.{u3, u2, u1} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} A (Matrix.det.{u2, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => Matrix.{u3, u3, u2} ι ι A) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (SMulZeroClass.toSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toZero.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toAddZeroClass.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u1 u3) u2} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u1 u3) u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u3, u3, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f)
 Case conversion may be inaccurate. Consider using '#align linear_map.det_to_matrix LinearMap.det_toMatrixₓ'. -/
 @[simp]
 theorem det_toMatrix (b : Basis ι A M) (f : M →ₗ[A] M) : Matrix.det (toMatrix b b f) = f.det :=
@@ -316,7 +316,7 @@ theorem det_toMatrix (b : Basis ι A M) (f : M →ₗ[A] M) : Matrix.det (toMatr
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {ι : Type.{u2}} [_inst_11 : Fintype.{u2} ι] [_inst_12 : DecidableEq.{succ u2} ι] (f : LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))), Eq.{succ u1} A (Matrix.det.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_12 a b) _inst_11 A _inst_8 (coeFn.{succ (max u2 u1), succ (max u2 u1)} (LinearEquiv.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_1.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.toMatrix'._proof_2.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_3.{u1, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι)) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (_x : LinearEquiv.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_1.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.toMatrix'._proof_2.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_3.{u1, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι)) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) -> (Matrix.{u2, u2, u1} ι ι A)) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_3.{u1, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι)) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_1.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.toMatrix'._proof_2.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.toMatrix'.{u1, u2, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι ι _inst_11 (fun (a : ι) (b : ι) => _inst_12 a b)) f)) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ (max u2 u1)) (succ u1)} (MonoidHom.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u2 u1} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (fun (_x : MonoidHom.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u2 u1} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) => (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) -> A) (MonoidHom.hasCoeToFun.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u2 u1} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.det.{max u2 u1, u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A _inst_8 (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) f)
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {ι : Type.{u2}} [_inst_11 : Fintype.{u2} ι] [_inst_12 : DecidableEq.{succ u2} ι] (f : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))), Eq.{succ u1} A (Matrix.det.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_12 a b) _inst_11 A _inst_8 (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (_x : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => Matrix.{u2, u2, u1} ι ι A) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (SMulZeroClass.toSMul.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddMonoid.toZero.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddMonoid.toAddZeroClass.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Module.toDistribMulAction.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, max u2 u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.toMatrix'.{u1, u2, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι ι _inst_11 (fun (a : ι) (b : ι) => _inst_12 a b)) f)) (FunLike.coe.{max (succ u1) (succ (max u1 u2)), succ (max u1 u2), succ u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u1 u2} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (_x : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) => A) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u1 u2} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulOneClass.toMul.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u1 u2} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))))))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u1 u2} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u1 u2} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u1 u2} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))))) (LinearMap.det.{max u1 u2, u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) A _inst_8 (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) f)
+  forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {ι : Type.{u2}} [_inst_11 : Fintype.{u2} ι] [_inst_12 : DecidableEq.{succ u2} ι] (f : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))), Eq.{succ u1} A (Matrix.det.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_12 a b) _inst_11 A _inst_8 (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (_x : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => Matrix.{u2, u2, u1} ι ι A) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (SMulZeroClass.toSMul.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddMonoid.toZero.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddMonoid.toAddZeroClass.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Module.toDistribMulAction.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, max u2 u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.toMatrix'.{u1, u2, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι ι _inst_11 (fun (a : ι) (b : ι) => _inst_12 a b)) f)) (FunLike.coe.{max (succ u1) (succ (max u1 u2)), succ (max u1 u2), succ u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (_x : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => A) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulOneClass.toMul.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Module.End.semiring.{u1, max u1 u2} A (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.det.{max u1 u2, u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) A _inst_8 (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) f)
 Case conversion may be inaccurate. Consider using '#align linear_map.det_to_matrix' LinearMap.det_toMatrix'ₓ'. -/
 @[simp]
 theorem det_toMatrix' {ι : Type _} [Fintype ι] [DecidableEq ι] (f : (ι → A) →ₗ[A] ι → A) :
@@ -327,7 +327,7 @@ theorem det_toMatrix' {ι : Type _} [Fintype ι] [DecidableEq ι] (f : (ι → A
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (b : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (f : Matrix.{u3, u3, u1} ι ι R), Eq.{succ u1} R (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (LinearEquiv.{u1, u1, max u3 u1, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.toLin._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.{u3, u3, u1} ι ι R) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u1, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u3, u3, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.module.{u1, u1, u1, u2, u2} R R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (Matrix.toLin._proof_3.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) (fun (_x : LinearEquiv.{u1, u1, max u3 u1, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.toLin._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.{u3, u3, u1} ι ι R) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u1, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u3, u3, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.module.{u1, u1, u1, u2, u2} R R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (Matrix.toLin._proof_3.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) => (Matrix.{u3, u3, u1} ι ι R) -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3)) (LinearEquiv.hasCoeToFun.{u1, u1, max u3 u1, u2} R R (Matrix.{u3, u3, u1} ι ι R) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u3, u3, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.module.{u1, u1, u1, u2, u2} R R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (Matrix.toLin._proof_3.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.toLin._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.toLin.{u1, u3, u3, u2, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 b b) f)) (Matrix.det.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 f)
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (b : Basis.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (f : Matrix.{u3, u3, u2} ι ι R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), succ u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (Matrix.{u3, u3, u2} ι ι R) (fun (a : Matrix.{u3, u3, u2} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u2} ι ι R) => LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) a) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (SMulZeroClass.toSMul.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (AddMonoid.toZero.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (SMulZeroClass.toSMul.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u1) u3} R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u2 u3, u1, max (max u2 u1) u3} R R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u2 u3, u1} R R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (Matrix.toLin.{u2, u3, u3, u1, u1} R (CommRing.toCommSemiring.{u2} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 b b) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3)))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), succ u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (Matrix.{u3, u3, u2} ι ι R) (fun (_x : Matrix.{u3, u3, u2} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u2} ι ι R) => LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (SMulZeroClass.toSMul.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (AddMonoid.toZero.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (SMulZeroClass.toSMul.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u1) u3} R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u2 u3, u1, max (max u2 u1) u3} R R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u2 u3, u1} R R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (Matrix.toLin.{u2, u3, u3, u1, u1} R (CommRing.toCommSemiring.{u2} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 b b) f)) (Matrix.det.{u2, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 f)
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (b : Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (f : Matrix.{u3, u3, u2} ι ι R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), succ u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (Matrix.{u3, u3, u2} ι ι R) (fun (a : Matrix.{u3, u3, u2} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u2} ι ι R) => LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) a) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (SMulZeroClass.toSMul.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (AddMonoid.toZero.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (SMulZeroClass.toSMul.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u1) u3} R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u2 u3, u1, max (max u2 u1) u3} R R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u2 u3, u1} R R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (Matrix.toLin.{u2, u3, u3, u1, u1} R (CommRing.toCommSemiring.{u2} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 b b) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), succ u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (Matrix.{u3, u3, u2} ι ι R) (fun (_x : Matrix.{u3, u3, u2} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u2} ι ι R) => LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (SMulZeroClass.toSMul.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (AddMonoid.toZero.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (SMulZeroClass.toSMul.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u1) u3} R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u2 u3, u1, max (max u2 u1) u3} R R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u2 u3, u1} R R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (Matrix.toLin.{u2, u3, u3, u1, u1} R (CommRing.toCommSemiring.{u2} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 b b) f)) (Matrix.det.{u2, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 f)
 Case conversion may be inaccurate. Consider using '#align linear_map.det_to_lin LinearMap.det_toLinₓ'. -/
 @[simp]
 theorem det_toLin (b : Basis ι R M) (f : Matrix ι ι R) :
@@ -339,7 +339,7 @@ theorem det_toLin (b : Basis ι R M) (f : Matrix ι ι R) :
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] (f : Matrix.{u2, u2, u1} ι ι R), Eq.{succ u1} R (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ (max u2 u1)) (succ u1)} (MonoidHom.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u2 u1} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u2 u1} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) -> R) (MonoidHom.hasCoeToFun.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u2 u1} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{max u2 u1, u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) R _inst_1 (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (coeFn.{succ (max u2 u1), succ (max u2 u1)} (LinearEquiv.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.toLin'._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_3.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι))) (fun (_x : LinearEquiv.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.toLin'._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_3.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι))) => (Matrix.{u2, u2, u1} ι ι R) -> (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_3.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.toLin'._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.toLin'.{u1, u2, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b)) f)) (Matrix.det.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 f)
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] (f : Matrix.{u2, u2, u1} ι ι R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => R) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (Matrix.{u2, u2, u1} ι ι R) (fun (a : Matrix.{u2, u2, u1} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u2, u2, u1} ι ι R) => LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) a) (SMulHomClass.toFunLike.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toZero.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toAddZeroClass.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, max u2 u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (Matrix.toLin'.{u1, u2, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b)) f)) (FunLike.coe.{max (succ u1) (succ (max u1 u2)), succ (max u1 u2), succ u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u1 u2} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (_x : LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u1 u2} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulOneClass.toMul.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u1 u2} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))))) (MulOneClass.toMul.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u1 u2} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u1 u2} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u1 u2} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (LinearMap.det.{max u1 u2, u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1))) R _inst_1 (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (Matrix.{u2, u2, u1} ι ι R) (fun (_x : Matrix.{u2, u2, u1} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u2, u2, u1} ι ι R) => LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toZero.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toAddZeroClass.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, max u2 u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (Matrix.toLin'.{u1, u2, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b)) f)) (Matrix.det.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 f)
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] (f : Matrix.{u2, u2, u1} ι ι R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => R) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (Matrix.{u2, u2, u1} ι ι R) (fun (a : Matrix.{u2, u2, u1} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u2, u2, u1} ι ι R) => LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) a) (SMulHomClass.toFunLike.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toZero.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toAddZeroClass.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, max u2 u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (Matrix.toLin'.{u1, u2, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b)) f)) (FunLike.coe.{max (succ u1) (succ (max u1 u2)), succ (max u1 u2), succ u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (_x : LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulOneClass.toMul.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulOneClass.toMul.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.semiring.{u1, max u1 u2} R (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (LinearMap.det.{max u1 u2, u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1))) R _inst_1 (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (Matrix.{u2, u2, u1} ι ι R) (fun (_x : Matrix.{u2, u2, u1} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u2, u2, u1} ι ι R) => LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toZero.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toAddZeroClass.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, max u2 u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (Matrix.toLin'.{u1, u2, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b)) f)) (Matrix.det.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 f)
 Case conversion may be inaccurate. Consider using '#align linear_map.det_to_lin' LinearMap.det_toLin'ₓ'. -/
 @[simp]
 theorem det_toLin' (f : Matrix ι ι R) : LinearMap.det f.toLin' = f.det := by
@@ -350,7 +350,7 @@ theorem det_toLin' (f : Matrix ι ι R) : LinearMap.det f.toLin' = f.det := by
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] [_inst_11 : DecidableEq.{succ u1} M] {P : A -> Prop} (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), (forall (s : Finset.{u1} M) (b : Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9), P (Matrix.det.{u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (fun (a : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (b : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) => Subtype.decidableEq.{u1} M (fun (x : M) => Membership.Mem.{u1, u1} M (Finset.{u1} M) (Finset.hasMem.{u1} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u1} M s) A _inst_8 (coeFn.{max (succ u1) (succ (max u1 u2)), max (succ u1) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u1, max u1 u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.toMatrix._proof_2.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.module.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u2, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u2, u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (fun (_x : LinearEquiv.{u2, u2, u1, max u1 u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.toMatrix._proof_2.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.module.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u2, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u2, u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) => (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A)) (LinearEquiv.hasCoeToFun.{u2, u2, u1, max u1 u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.module.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u2, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u2, u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.toMatrix._proof_2.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.toMatrix.{u2, u1, u1, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (Finset.Subtype.fintype.{u1} M s) (Finset.Subtype.fintype.{u1} M s) (fun (a : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (b : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) => Subtype.decidableEq.{u1} M (fun (x : M) => Membership.Mem.{u1, u1} M (Finset.{u1} M) (Finset.hasMem.{u1} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f))) -> (P (OfNat.ofNat.{u2} A 1 (OfNat.mk.{u2} A 1 (One.one.{u2} A (AddMonoidWithOne.toOne.{u2} A (AddGroupWithOne.toAddMonoidWithOne.{u2} A (AddCommGroupWithOne.toAddGroupWithOne.{u2} A (Ring.toAddCommGroupWithOne.{u2} A (CommRing.toRing.{u2} A _inst_8))))))))) -> (P (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f))
 but is expected to have type
-  forall {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] [_inst_9 : Module.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_11 : DecidableEq.{succ u2} M] {P : A -> Prop} (f : LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9), (forall (s : Finset.{u2} M) (b : Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9), P (Matrix.det.{u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u2} M s) A _inst_8 (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, u2, max u2 u1} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (SMulZeroClass.toSMul.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Module.toDistribMulAction.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, u2, max u2 u1} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, max u2 u1, max u2 u1} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, max u2 u1} A A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.toMatrix.{u1, u2, u2, u2, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Finset.Subtype.fintype.{u2} M s) (Finset.Subtype.fintype.{u2} M s) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 b b) f))) -> (P (OfNat.ofNat.{u1} A 1 (One.toOfNat1.{u1} A (NonAssocRing.toOne.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) -> (P (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))))) (LinearMap.det.{u2, u1} M _inst_2 A _inst_8 _inst_9) f))
+  forall {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] [_inst_9 : Module.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_11 : DecidableEq.{succ u2} M] {P : A -> Prop} (f : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9), (forall (s : Finset.{u2} M) (b : Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9), P (Matrix.det.{u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u2} M s) A _inst_8 (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, u2, max u2 u1} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (SMulZeroClass.toSMul.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Module.toDistribMulAction.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, u2, max u2 u1} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, max u2 u1, max u2 u1} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, max u2 u1} A A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.toMatrix.{u1, u2, u2, u2, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Finset.Subtype.fintype.{u2} M s) (Finset.Subtype.fintype.{u2} M s) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 b b) f))) -> (P (OfNat.ofNat.{u1} A 1 (One.toOfNat1.{u1} A (Semiring.toOne.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) -> (P (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.det.{u2, u1} M _inst_2 A _inst_8 _inst_9) f))
 Case conversion may be inaccurate. Consider using '#align linear_map.det_cases LinearMap.det_casesₓ'. -/
 /-- To show `P f.det` it suffices to consider `P (to_matrix _ _ f).det` and `P 1`. -/
 @[elab_as_elim]
@@ -368,7 +368,7 @@ theorem det_cases [DecidableEq M] {P : A → Prop} (f : M →ₗ[A] M)
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (g : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} A (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearMap.comp.{u2, u2, u2, u1, u1, u1} A A A M M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomCompTriple.right_ids.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))) f g)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) g))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (g : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.comp.{u2, u2, u2, u1, u1, u1} A A A M M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) f g)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearMap.comp.{u2, u2, u2, u1, u1, u1} A A A M M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) f g)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) g))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (g : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.comp.{u2, u2, u2, u1, u1, u1} A A A M M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) f g)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearMap.comp.{u2, u2, u2, u1, u1, u1} A A A M M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) f g)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) g))
 Case conversion may be inaccurate. Consider using '#align linear_map.det_comp LinearMap.det_compₓ'. -/
 @[simp]
 theorem det_comp (f g : M →ₗ[A] M) : (f.comp g).det = f.det * g.det :=
@@ -379,7 +379,7 @@ theorem det_comp (f g : M →ₗ[A] M) : (f.comp g).det = f.det * g.det :=
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)], Eq.{succ u2} A (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearMap.id.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (OfNat.ofNat.{u2} A 1 (OfNat.mk.{u2} A 1 (One.one.{u2} A (AddMonoidWithOne.toOne.{u2} A (AddGroupWithOne.toAddMonoidWithOne.{u2} A (AddCommGroupWithOne.toAddGroupWithOne.{u2} A (Ring.toAddCommGroupWithOne.{u2} A (CommRing.toRing.{u2} A _inst_8))))))))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)], Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearMap.id.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (NonAssocRing.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) _inst_8)))))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)], Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearMap.id.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Semiring.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) _inst_8)))))
 Case conversion may be inaccurate. Consider using '#align linear_map.det_id LinearMap.det_idₓ'. -/
 @[simp]
 theorem det_id : (LinearMap.id : M →ₗ[A] M).det = 1 :=
@@ -390,7 +390,7 @@ theorem det_id : (LinearMap.id : M →ₗ[A] M).det = 1 :=
 lean 3 declaration is
   forall {𝕜 : Type.{u1}} [_inst_11 : Field.{u1} 𝕜] {M : Type.{u2}} [_inst_12 : AddCommGroup.{u2} M] [_inst_13 : Module.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12)] (c : 𝕜) (f : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13), Eq.{succ u1} 𝕜 (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) => (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) -> 𝕜) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) (LinearMap.det.{u2, u1} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)) _inst_13) (SMul.smul.{u1, u2} 𝕜 (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (LinearMap.hasSmul.{u1, u1, u1, u2, u2} 𝕜 𝕜 𝕜 M M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13 (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) (Ring.toMonoid.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (Module.toDistribMulAction.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13) (smulCommClass_self.{u1, u2} 𝕜 M (CommRing.toCommMonoid.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11))) (MulActionWithZero.toMulAction.{u1, u2} 𝕜 M (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12)))) (Module.toMulActionWithZero.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13)))) c f)) (HMul.hMul.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHMul.{u1} 𝕜 (Distrib.toHasMul.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))) (HPow.hPow.{u1, 0, u1} 𝕜 Nat 𝕜 (instHPow.{u1, 0} 𝕜 Nat (Monoid.Pow.{u1} 𝕜 (Ring.toMonoid.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))) c (FiniteDimensional.finrank.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) _inst_12 _inst_13)) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) => (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) -> 𝕜) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) (LinearMap.det.{u2, u1} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)) _inst_13) f))
 but is expected to have type
-  forall {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] {M : Type.{u1}} [_inst_12 : AddCommGroup.{u1} M] [_inst_13 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12)] (c : 𝕜) (f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) (HSMul.hSMul.{u2, u1, u1} 𝕜 (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (instHSMul.{u2, u1} 𝕜 (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.instSMulLinearMap.{u2, u2, u2, u1, u1} 𝕜 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13 (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) (MonoidWithZero.toMonoid.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) (Module.toDistribMulAction.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13) (smulCommClass_self.{u2, u1} 𝕜 M (CommRing.toCommMonoid.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))) (MulActionWithZero.toMulAction.{u2, u1} 𝕜 M (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_12))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13))))) c f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13)))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_13) (HSMul.hSMul.{u2, u1, u1} 𝕜 (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (instHSMul.{u2, u1} 𝕜 (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.instSMulLinearMap.{u2, u2, u2, u1, u1} 𝕜 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13 (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) (MonoidWithZero.toMonoid.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) (Module.toDistribMulAction.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13) (smulCommClass_self.{u2, u1} 𝕜 M (CommRing.toCommMonoid.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))) (MulActionWithZero.toMulAction.{u2, u1} 𝕜 M (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_12))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13))))) c f)) (HMul.hMul.{u2, u2, u2} 𝕜 ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) 𝕜 (instHMul.{u2} 𝕜 (NonUnitalNonAssocRing.toMul.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11)))))) (HPow.hPow.{u2, 0, u2} 𝕜 Nat 𝕜 (instHPow.{u2, 0} 𝕜 Nat (Monoid.Pow.{u2} 𝕜 (MonoidWithZero.toMonoid.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))))) c (FiniteDimensional.finrank.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) _inst_12 _inst_13)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13)))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_13) f))
+  forall {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] {M : Type.{u1}} [_inst_12 : AddCommGroup.{u1} M] [_inst_13 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12)] (c : 𝕜) (f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) (HSMul.hSMul.{u2, u1, u1} 𝕜 (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (instHSMul.{u2, u1} 𝕜 (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.instSMulLinearMap.{u2, u2, u2, u1, u1} 𝕜 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) (MonoidWithZero.toMonoid.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) (Module.toDistribMulAction.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13) (smulCommClass_self.{u2, u1} 𝕜 M (CommRing.toCommMonoid.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))) (MulActionWithZero.toMulAction.{u2, u1} 𝕜 M (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_12))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13))))) c f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_13) (HSMul.hSMul.{u2, u1, u1} 𝕜 (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (instHSMul.{u2, u1} 𝕜 (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.instSMulLinearMap.{u2, u2, u2, u1, u1} 𝕜 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) (MonoidWithZero.toMonoid.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) (Module.toDistribMulAction.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13) (smulCommClass_self.{u2, u1} 𝕜 M (CommRing.toCommMonoid.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))) (MulActionWithZero.toMulAction.{u2, u1} 𝕜 M (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_12))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13))))) c f)) (HMul.hMul.{u2, u2, u2} 𝕜 ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) 𝕜 (instHMul.{u2} 𝕜 (NonUnitalNonAssocRing.toMul.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11)))))) (HPow.hPow.{u2, 0, u2} 𝕜 Nat 𝕜 (instHPow.{u2, 0} 𝕜 Nat (Monoid.Pow.{u2} 𝕜 (MonoidWithZero.toMonoid.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))))) c (FiniteDimensional.finrank.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) _inst_12 _inst_13)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_13) f))
 Case conversion may be inaccurate. Consider using '#align linear_map.det_smul LinearMap.det_smulₓ'. -/
 /-- Multiplying a map by a scalar `c` multiplies its determinant by `c ^ dim M`. -/
 @[simp]
@@ -413,7 +413,7 @@ theorem det_smul {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCommGroup M] [Mod
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_11 : Finite.{succ u3} ι] [_inst_12 : Nonempty.{succ u3} ι], (Basis.{u3, u2, u1} ι A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) -> (Eq.{succ u2} A (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (OfNat.mk.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.zero.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.hasZero.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))))))) (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))))))))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_11 : Finite.{succ u3} ι] [_inst_12 : Nonempty.{succ u3} ι], (Basis.{u3, u2, u1} ι A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) -> (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (CommSemiring.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) _inst_8))))))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_11 : Finite.{succ u3} ι] [_inst_12 : Nonempty.{succ u3} ι], (Basis.{u3, u2, u1} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) -> (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (CommSemiring.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) _inst_8))))))
 Case conversion may be inaccurate. Consider using '#align linear_map.det_zero' LinearMap.det_zero'ₓ'. -/
 theorem det_zero' {ι : Type _} [Finite ι] [Nonempty ι] (b : Basis ι A M) :
     LinearMap.det (0 : M →ₗ[A] M) = 0 :=
@@ -427,7 +427,7 @@ theorem det_zero' {ι : Type _} [Finite ι] [Nonempty ι] (b : Basis ι A M) :
 lean 3 declaration is
   forall {𝕜 : Type.{u1}} [_inst_11 : Field.{u1} 𝕜] {M : Type.{u2}} [_inst_12 : AddCommGroup.{u2} M] [_inst_13 : Module.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12)], Eq.{succ u1} 𝕜 (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) => (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) -> 𝕜) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) (LinearMap.det.{u2, u1} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)) _inst_13) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 0 (OfNat.mk.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 0 (Zero.zero.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (LinearMap.hasZero.{u1, u1, u2, u2} 𝕜 𝕜 M M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13 (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11)))))))))) (HPow.hPow.{u1, 0, u1} 𝕜 Nat 𝕜 (instHPow.{u1, 0} 𝕜 Nat (Monoid.Pow.{u1} 𝕜 (Ring.toMonoid.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11)))))))))) (FiniteDimensional.finrank.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) _inst_12 _inst_13))
 but is expected to have type
-  forall {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] {M : Type.{u1}} [_inst_12 : AddCommGroup.{u1} M] [_inst_13 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12)], Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13 (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13)))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_13) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13 (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))))))) (HPow.hPow.{u2, 0, u2} 𝕜 Nat 𝕜 (instHPow.{u2, 0} 𝕜 Nat (Monoid.Pow.{u2} 𝕜 (MonoidWithZero.toMonoid.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))))) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))))) (FiniteDimensional.finrank.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) _inst_12 _inst_13))
+  forall {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] {M : Type.{u1}} [_inst_12 : AddCommGroup.{u1} M] [_inst_13 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12)], Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_13) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))))))) (HPow.hPow.{u2, 0, u2} 𝕜 Nat 𝕜 (instHPow.{u2, 0} 𝕜 Nat (Monoid.Pow.{u2} 𝕜 (MonoidWithZero.toMonoid.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))))) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))))) (FiniteDimensional.finrank.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) _inst_12 _inst_13))
 Case conversion may be inaccurate. Consider using '#align linear_map.det_zero LinearMap.det_zeroₓ'. -/
 /-- In a finite-dimensional vector space, the zero map has determinant `1` in dimension `0`,
 and `0` otherwise. We give a formula that also works in infinite dimension, where we define
@@ -442,7 +442,7 @@ theorem det_zero {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCommGroup M] [Mod
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_11 : Subsingleton.{succ u2} M] (f : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3), Eq.{succ u1} R (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) f) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))))))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_11 : Subsingleton.{succ u2} M] (f : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3)))))) (MulOneClass.toMul.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) f) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) 1 (One.toOfNat1.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) (NonAssocRing.toOne.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) (Ring.toNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) (CommRing.toRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) _inst_1)))))
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_11 : Subsingleton.{succ u2} M] (f : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) f) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) 1 (One.toOfNat1.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) (Semiring.toOne.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) _inst_1)))))
 Case conversion may be inaccurate. Consider using '#align linear_map.det_eq_one_of_subsingleton LinearMap.det_eq_one_of_subsingletonₓ'. -/
 theorem det_eq_one_of_subsingleton [Subsingleton M] (f : M →ₗ[R] M) : (f : M →ₗ[R] M).det = 1 :=
   by
@@ -455,7 +455,7 @@ theorem det_eq_one_of_subsingleton [Subsingleton M] (f : M →ₗ[R] M) : (f : M
 lean 3 declaration is
   forall {𝕜 : Type.{u1}} [_inst_11 : Field.{u1} 𝕜] {M : Type.{u2}} [_inst_12 : AddCommGroup.{u2} M] [_inst_13 : Module.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12)], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) _inst_12 _inst_13) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (forall (f : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13), Eq.{succ u1} 𝕜 (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) => (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) -> 𝕜) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) (LinearMap.det.{u2, u1} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)) _inst_13) f) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddGroupWithOne.toAddMonoidWithOne.{u1} 𝕜 (AddCommGroupWithOne.toAddGroupWithOne.{u1} 𝕜 (Ring.toAddCommGroupWithOne.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))))))))
 but is expected to have type
-  forall {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] {M : Type.{u1}} [_inst_12 : AddCommGroup.{u1} M] [_inst_13 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12)], (Eq.{1} Nat (FiniteDimensional.finrank.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) _inst_12 _inst_13) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) -> (forall (f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13)))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_13) f) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) (NonAssocRing.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) (DivisionRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) (Field.toDivisionRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) _inst_11)))))))
+  forall {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] {M : Type.{u1}} [_inst_12 : AddCommGroup.{u1} M] [_inst_13 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12)], (Eq.{1} Nat (FiniteDimensional.finrank.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) _inst_12 _inst_13) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) -> (forall (f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_13) f) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) (Semiring.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) (DivisionSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) (Semifield.toDivisionSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) (Field.toSemifield.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) _inst_11)))))))
 Case conversion may be inaccurate. Consider using '#align linear_map.det_eq_one_of_finrank_eq_zero LinearMap.det_eq_one_of_finrank_eq_zeroₓ'. -/
 theorem det_eq_one_of_finrank_eq_zero {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCommGroup M]
     [Module 𝕜 M] (h : FiniteDimensional.finrank 𝕜 M = 0) (f : M →ₗ[𝕜] M) :
@@ -473,7 +473,7 @@ theorem det_eq_one_of_finrank_eq_zero {𝕜 : Type _} [Field 𝕜] {M : Type _}
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {N : Type.{u3}} [_inst_11 : AddCommGroup.{u3} N] [_inst_12 : Module.{u2, u3} A N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11)] (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (e : LinearEquiv.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12), Eq.{succ u2} A (coeFn.{max (succ u2) (succ u3), max (succ u3) (succ u2)} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.ring.{u2, u3} A N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_11 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.ring.{u2, u3} A N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_11 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) -> A) (MonoidHom.hasCoeToFun.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.ring.{u2, u3} A N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_11 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u3, u2} N _inst_11 A _inst_8 _inst_12) (LinearMap.comp.{u2, u2, u2, u3, u1, u3} A A A N M N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_9 _inst_12 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))) ((fun (a : Sort.{max (succ u1) (succ u3)}) (b : Sort.{max (succ u1) (succ u3)}) [self : HasLiftT.{max (succ u1) (succ u3), max (succ u1) (succ u3)} a b] => self.0) (LinearEquiv.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12) (LinearMap.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12) (HasLiftT.mk.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (LinearEquiv.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12) (LinearMap.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12) (CoeTCₓ.coe.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (LinearEquiv.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12) (LinearMap.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12) (coeBase.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (LinearEquiv.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12) (LinearMap.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u1, u3} A A M N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) e) (LinearMap.comp.{u2, u2, u2, u3, u1, u1} A A A N M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))) f ((fun (a : Sort.{max (succ u3) (succ u1)}) (b : Sort.{max (succ u3) (succ u1)}) [self : HasLiftT.{max (succ u3) (succ u1), max (succ u3) (succ u1)} a b] => self.0) (LinearEquiv.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9) (LinearMap.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9) (HasLiftT.mk.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9) (LinearMap.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9) (CoeTCₓ.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9) (LinearMap.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9) (coeBase.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9) (LinearMap.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u3, u1} A A N M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (LinearEquiv.symm.{u2, u2, u1, u3} A A M N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) e))))) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f)
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {N : Type.{u3}} [_inst_11 : AddCommGroup.{u3} N] [_inst_12 : Module.{u2, u3} A N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11)] (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (e : LinearEquiv.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) => A) (LinearMap.comp.{u2, u2, u2, u3, u1, u3} A A A N M N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_9 _inst_12 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (LinearEquiv.toLinearMap.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12 e) (LinearMap.comp.{u2, u2, u2, u3, u1, u1} A A A N M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))) f (LinearEquiv.toLinearMap.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u3} A A M N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) e))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.ring.{u2, u3} A N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_11 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) => A) _x) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.ring.{u2, u3} A N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_11 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.ring.{u2, u3} A N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_11 _inst_12)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.ring.{u2, u3} A N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_11 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.ring.{u2, u3} A N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_11 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.ring.{u2, u3} A N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_11 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.det.{u3, u2} N _inst_11 A _inst_8 _inst_12) (LinearMap.comp.{u2, u2, u2, u3, u1, u3} A A A N M N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_9 _inst_12 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (LinearEquiv.toLinearMap.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12 e) (LinearMap.comp.{u2, u2, u2, u3, u1, u1} A A A N M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))) f (LinearEquiv.toLinearMap.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u3} A A M N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) e))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f)
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {N : Type.{u3}} [_inst_11 : AddCommGroup.{u3} N] [_inst_12 : Module.{u2, u3} A N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11)] (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (e : LinearEquiv.{u2, u2, u1, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) => A) (LinearMap.comp.{u2, u2, u2, u3, u1, u3} A A A N M N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_9 _inst_12 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearEquiv.toLinearMap.{u2, u2, u1, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12 e) (LinearMap.comp.{u2, u2, u2, u3, u1, u1} A A A N M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) f (LinearEquiv.toLinearMap.{u2, u2, u3, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u3} A A M N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) e))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.semiring.{u2, u3} A N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) => A) _x) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.semiring.{u2, u3} A N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.semiring.{u2, u3} A N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.semiring.{u2, u3} A N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.semiring.{u2, u3} A N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.semiring.{u2, u3} A N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u3, u2} N _inst_11 A _inst_8 _inst_12) (LinearMap.comp.{u2, u2, u2, u3, u1, u3} A A A N M N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_9 _inst_12 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearEquiv.toLinearMap.{u2, u2, u1, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12 e) (LinearMap.comp.{u2, u2, u2, u3, u1, u1} A A A N M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) f (LinearEquiv.toLinearMap.{u2, u2, u3, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u3} A A M N (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) e))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f)
 Case conversion may be inaccurate. Consider using '#align linear_map.det_conj LinearMap.det_conjₓ'. -/
 /-- Conjugating a linear map by a linear equiv does not change its determinant. -/
 @[simp]
@@ -502,7 +502,7 @@ theorem det_conj {N : Type _} [AddCommGroup N] [Module A N] (f : M →ₗ[A] M)
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_11 : CommRing.{u2} A] [_inst_12 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12), (IsUnit.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.monoid.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) f) -> (IsUnit.{u2} A (Ring.toMonoid.{u2} A (CommRing.toRing.{u2} A _inst_11)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_11 _inst_12) f))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_11 : CommRing.{u2} A] [_inst_12 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12), (IsUnit.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.monoid.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) f) -> (IsUnit.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) f) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) f) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) f) (Ring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) f) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) f) _inst_11)))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) _inst_2 _inst_12)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_11 _inst_12) f))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_11 : CommRing.{u2} A] [_inst_12 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12), (IsUnit.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.monoid.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) f) -> (IsUnit.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) f) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) f) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) f) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) f) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) f) _inst_11)))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_11)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_11 _inst_12) f))
 Case conversion may be inaccurate. Consider using '#align linear_map.is_unit_det LinearMap.isUnit_detₓ'. -/
 /-- If a linear map is invertible, so is its determinant. -/
 theorem isUnit_det {A : Type _} [CommRing A] [Module A M] (f : M →ₗ[A] M) (hf : IsUnit f) :
@@ -517,7 +517,7 @@ theorem isUnit_det {A : Type _} [CommRing A] [Module A M] (f : M →ₗ[A] M) (h
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12), (Ne.{succ u2} 𝕜 (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) => (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) -> 𝕜) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} 𝕜 1 (OfNat.mk.{u2} 𝕜 1 (One.one.{u2} 𝕜 (AddMonoidWithOne.toOne.{u2} 𝕜 (AddGroupWithOne.toAddMonoidWithOne.{u2} 𝕜 (AddCommGroupWithOne.toAddGroupWithOne.{u2} 𝕜 (Ring.toAddCommGroupWithOne.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11)))))))))) -> (FiniteDimensional.{u2, u1} 𝕜 M (Field.toDivisionRing.{u2} 𝕜 _inst_11) _inst_2 _inst_12)
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12), (Ne.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12)))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (NonAssocRing.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (DivisionRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Field.toDivisionRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) _inst_11))))))) -> (FiniteDimensional.{u2, u1} 𝕜 M (Field.toDivisionRing.{u2} 𝕜 _inst_11) _inst_2 _inst_12)
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12), (Ne.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Semiring.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (DivisionSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Semifield.toDivisionSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Field.toSemifield.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) _inst_11))))))) -> (FiniteDimensional.{u2, u1} 𝕜 M (Field.toDivisionRing.{u2} 𝕜 _inst_11) _inst_2 _inst_12)
 Case conversion may be inaccurate. Consider using '#align linear_map.finite_dimensional_of_det_ne_one LinearMap.finiteDimensional_of_det_ne_oneₓ'. -/
 /-- If a linear map has determinant different from `1`, then the space is finite-dimensional. -/
 theorem finiteDimensional_of_det_ne_one {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] (f : M →ₗ[𝕜] M)
@@ -536,7 +536,7 @@ theorem finiteDimensional_of_det_ne_one {𝕜 : Type _} [Field 𝕜] [Module 
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12}, (Eq.{succ u2} 𝕜 (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) => (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) -> 𝕜) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))))))))) -> (LT.lt.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Preorder.toLT.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.completeLattice.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (LinearMap.range.{u2, u2, u1, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (LinearMap.semilinearMapClass.{u2, u2, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11)))))) (RingHomSurjective.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11)))) f) (Top.top.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.hasTop.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12}, (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12)))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommGroupWithZero.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Semifield.toCommGroupWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Field.toSemifield.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) _inst_11))))))) -> (LT.lt.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Preorder.toLT.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.completeLattice.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (LinearMap.range.{u2, u2, u1, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11)))))) (RingHomSurjective.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))) f) (Top.top.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.instTopSubmodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12}, (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommGroupWithZero.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Semifield.toCommGroupWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Field.toSemifield.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) _inst_11))))))) -> (LT.lt.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Preorder.toLT.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.completeLattice.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (LinearMap.range.{u2, u2, u1, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))))) (RingHomSurjective.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))) f) (Top.top.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.instTopSubmodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))
 Case conversion may be inaccurate. Consider using '#align linear_map.range_lt_top_of_det_eq_zero LinearMap.range_lt_top_of_det_eq_zeroₓ'. -/
 /-- If the determinant of a map vanishes, then the map is not onto. -/
 theorem range_lt_top_of_det_eq_zero {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] {f : M →ₗ[𝕜] M}
@@ -552,7 +552,7 @@ theorem range_lt_top_of_det_eq_zero {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M]
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12}, (Eq.{succ u2} 𝕜 (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) => (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) -> 𝕜) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))))))))) -> (LT.lt.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Preorder.toLT.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.completeLattice.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (Bot.bot.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.hasBot.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)) (LinearMap.ker.{u2, u2, u1, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (LinearMap.semilinearMapClass.{u2, u2, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11)))))) f))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12}, (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12)))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommGroupWithZero.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Semifield.toCommGroupWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Field.toSemifield.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) _inst_11))))))) -> (LT.lt.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Preorder.toLT.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.completeLattice.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (Bot.bot.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.instBotSubmodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)) (LinearMap.ker.{u2, u2, u1, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11)))))) f))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12}, (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommGroupWithZero.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Semifield.toCommGroupWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Field.toSemifield.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) _inst_11))))))) -> (LT.lt.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Preorder.toLT.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.completeLattice.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (Bot.bot.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.instBotSubmodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)) (LinearMap.ker.{u2, u2, u1, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))))) f))
 Case conversion may be inaccurate. Consider using '#align linear_map.bot_lt_ker_of_det_eq_zero LinearMap.bot_lt_ker_of_det_eq_zeroₓ'. -/
 /-- If the determinant of a map vanishes, then the map is not injective. -/
 theorem bot_lt_ker_of_det_eq_zero {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] {f : M →ₗ[𝕜] M}
@@ -572,7 +572,7 @@ namespace LinearEquiv
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)], MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)], MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)], MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))
 Case conversion may be inaccurate. Consider using '#align linear_equiv.det LinearEquiv.detₓ'. -/
 /-- On a `linear_equiv`, the domain of `linear_map.det` can be promoted to `Rˣ`. -/
 protected def det : (M ≃ₗ[R] M) →* Rˣ :=
@@ -584,7 +584,7 @@ protected def det : (M ≃ₗ[R] M) →* Rˣ :=
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (f : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3), Eq.{succ u1} R ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (HasLiftT.mk.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (CoeTCₓ.coe.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (coeBase.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Units.hasCoe.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) f)) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (HasLiftT.mk.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (CoeTCₓ.coe.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (coeBase.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) f))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 f)) (Units.val.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3)))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 f))
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 f)) (Units.val.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 f))
 Case conversion may be inaccurate. Consider using '#align linear_equiv.coe_det LinearEquiv.coe_detₓ'. -/
 @[simp]
 theorem coe_det (f : M ≃ₗ[R] M) : ↑f.det = LinearMap.det (f : M →ₗ[R] M) :=
@@ -595,7 +595,7 @@ theorem coe_det (f : M ≃ₗ[R] M) : ↑f.det = LinearMap.det (f : M →ₗ[R]
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (f : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3), Eq.{succ u1} R ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (HasLiftT.mk.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (CoeTCₓ.coe.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (coeBase.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Units.hasCoe.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Inv.inv.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.hasInv.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) f))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (HasLiftT.mk.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (CoeTCₓ.coe.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (coeBase.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (LinearEquiv.symm.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f)))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (LinearEquiv.symm.{u2, u2, u1, u1} R R M M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) f))) (Units.val.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) f) (Units.instInv.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) f))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3)))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (LinearEquiv.symm.{u2, u2, u1, u1} R R M M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) f)))
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (LinearEquiv.symm.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) f))) (Units.val.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f) (Units.instInv.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) f))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (LinearEquiv.symm.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) f)))
 Case conversion may be inaccurate. Consider using '#align linear_equiv.coe_inv_det LinearEquiv.coe_inv_detₓ'. -/
 @[simp]
 theorem coe_inv_det (f : M ≃ₗ[R] M) : ↑f.det⁻¹ = LinearMap.det (f.symm : M →ₗ[R] M) :=
@@ -606,7 +606,7 @@ theorem coe_inv_det (f : M ≃ₗ[R] M) : ↑f.det⁻¹ = LinearMap.det (f.symm
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)], Eq.{succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) (LinearEquiv.refl.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (OfNat.ofNat.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) 1 (OfNat.mk.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) 1 (One.one.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulOneClass.toHasOne.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)], Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) (LinearEquiv.refl.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (InvOneClass.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (DivisionCommMonoid.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (CommGroup.toDivisionCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (Units.instCommGroupUnitsToMonoid.{u2} R (CommRing.toCommMonoid.{u2} R _inst_1)))))))))
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)], Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (InvOneClass.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (DivisionCommMonoid.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (CommGroup.toDivisionCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (Units.instCommGroupUnitsToMonoid.{u2} R (CommRing.toCommMonoid.{u2} R _inst_1)))))))))
 Case conversion may be inaccurate. Consider using '#align linear_equiv.det_refl LinearEquiv.det_reflₓ'. -/
 @[simp]
 theorem det_refl : (LinearEquiv.refl R M).det = 1 :=
@@ -617,7 +617,7 @@ theorem det_refl : (LinearEquiv.refl R M).det = 1 :=
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (f : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (g : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3), Eq.{succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) (LinearEquiv.trans.{u1, u1, u1, u2, u2, u2} R R R M M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomCompTriple.right_ids.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (RingHomCompTriple.right_ids.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (LinearEquiv.det._proof_2.{u1} R _inst_1) f g)) (HMul.hMul.{u1, u1, u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (instHMul.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulOneClass.toHasMul.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) g) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) f))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (g : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (LinearEquiv.trans.{u2, u2, u2, u1, u1, u1} R R R M M M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 _inst_3 (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (RingHomCompTriple.ids.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) f g)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) (LinearEquiv.trans.{u2, u2, u2, u1, u1, u1} R R R M M M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 _inst_3 (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (RingHomCompTriple.ids.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) f g)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) f) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) g) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) g) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) g) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) f))
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (g : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.trans.{u2, u2, u2, u1, u1, u1} R R R M M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) f g)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) (LinearEquiv.trans.{u2, u2, u2, u1, u1, u1} R R R M M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) f g)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) g) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) g) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) g) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) f))
 Case conversion may be inaccurate. Consider using '#align linear_equiv.det_trans LinearEquiv.det_transₓ'. -/
 @[simp]
 theorem det_trans (f g : M ≃ₗ[R] M) : (f.trans g).det = g.det * f.det :=
@@ -628,7 +628,7 @@ theorem det_trans (f g : M ≃ₗ[R] M) : (f.trans g).det = g.det * f.det :=
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (f : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3), Eq.{succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) (LinearEquiv.symm.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f)) (Inv.inv.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.hasInv.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) f))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (LinearEquiv.symm.{u2, u2, u1, u1} R R M M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) f)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) (LinearEquiv.symm.{u2, u2, u1, u1} R R M M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) f)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (a : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) a) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) (Inv.inv.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (InvOneClass.toInv.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvOneMonoid.toInvOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivisionMonoid.toDivInvOneMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivisionMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) f))
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearEquiv.symm.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) f)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) (LinearEquiv.symm.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) f)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (a : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) a) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) (Inv.inv.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (InvOneClass.toInv.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvOneMonoid.toInvOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivisionMonoid.toDivInvOneMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivisionMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) f))
 Case conversion may be inaccurate. Consider using '#align linear_equiv.det_symm LinearEquiv.det_symmₓ'. -/
 @[simp]
 theorem det_symm (f : M ≃ₗ[R] M) : f.symm.det = f.det⁻¹ :=
@@ -639,7 +639,7 @@ theorem det_symm (f : M ≃ₗ[R] M) : f.symm.det = f.det⁻¹ :=
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] (f : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (e : LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5), Eq.{succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (coeFn.{max (succ u1) (succ u3), max (succ u3) (succ u1)} (MonoidHom.{u3, u1} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u3, u1} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u3, u1} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u3} R _inst_1 M' _inst_4 _inst_5) (LinearEquiv.trans.{u1, u1, u1, u3, u2, u3} R R R M' M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomCompTriple.right_ids.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (RingHomCompTriple.right_ids.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (LinearEquiv.det._proof_2.{u1} R _inst_1) (LinearEquiv.trans.{u1, u1, u1, u3, u2, u2} R R R M' M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomCompTriple.right_ids.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (RingHomCompTriple.right_ids.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (LinearEquiv.symm.{u1, u1, u2, u3} R R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) e) f) e)) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) f)
 but is expected to have type
-  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u1}} [_inst_4 : AddCommGroup.{u1} M'] [_inst_5 : Module.{u3, u1} R M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4)] (f : LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (e : LinearEquiv.{u3, u3, u2, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) => Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (LinearEquiv.trans.{u3, u3, u3, u1, u2, u1} R R R M' M M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_3 _inst_5 (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomCompTriple.ids.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (RingHomCompTriple.ids.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (LinearEquiv.trans.{u3, u3, u3, u1, u2, u2} R R R M' M M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomCompTriple.ids.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (RingHomCompTriple.ids.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (LinearEquiv.symm.{u3, u3, u2, u1} R R M M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) e) f) e)) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (fun (_x : LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) => Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5))))) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u3} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (LinearEquiv.det.{u3, u1} R _inst_1 M' _inst_4 _inst_5) (LinearEquiv.trans.{u3, u3, u3, u1, u2, u1} R R R M' M M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_3 _inst_5 (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomCompTriple.ids.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (RingHomCompTriple.ids.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (LinearEquiv.trans.{u3, u3, u3, u1, u2, u2} R R R M' M M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomCompTriple.ids.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (RingHomCompTriple.ids.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (LinearEquiv.symm.{u3, u3, u2, u1} R R M M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) e) f) e)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (MonoidHom.{u2, u3} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (MulOneClass.toMul.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (MonoidHom.monoidHomClass.{u2, u3} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (LinearEquiv.det.{u3, u2} R _inst_1 M _inst_2 _inst_3) f)
+  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u1}} [_inst_4 : AddCommGroup.{u1} M'] [_inst_5 : Module.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4)] (f : LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (e : LinearEquiv.{u3, u3, u2, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) => Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (LinearEquiv.trans.{u3, u3, u3, u1, u2, u1} R R R M' M M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomCompTriple.ids.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (RingHomCompTriple.ids.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (LinearEquiv.trans.{u3, u3, u3, u1, u2, u2} R R R M' M M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomCompTriple.ids.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (RingHomCompTriple.ids.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (LinearEquiv.symm.{u3, u3, u2, u1} R R M M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) e) f) e)) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (fun (_x : LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) => Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5))))) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u3} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (LinearEquiv.det.{u3, u1} R _inst_1 M' _inst_4 _inst_5) (LinearEquiv.trans.{u3, u3, u3, u1, u2, u1} R R R M' M M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomCompTriple.ids.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (RingHomCompTriple.ids.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (LinearEquiv.trans.{u3, u3, u3, u1, u2, u2} R R R M' M M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomCompTriple.ids.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (RingHomCompTriple.ids.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (LinearEquiv.symm.{u3, u3, u2, u1} R R M M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) e) f) e)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (MonoidHom.{u2, u3} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (MulOneClass.toMul.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (MonoidHom.monoidHomClass.{u2, u3} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (LinearEquiv.det.{u3, u2} R _inst_1 M _inst_2 _inst_3) f)
 Case conversion may be inaccurate. Consider using '#align linear_equiv.det_conj LinearEquiv.det_conjₓ'. -/
 /-- Conjugating a linear equiv by a linear equiv does not change its determinant. -/
 @[simp]
@@ -653,7 +653,7 @@ end LinearEquiv
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} A (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (HasLiftT.mk.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CoeTCₓ.coe.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (coeBase.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) f)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (HasLiftT.mk.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CoeTCₓ.coe.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (coeBase.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f)))) (OfNat.ofNat.{u2} A 1 (OfNat.mk.{u2} A 1 (One.one.{u2} A (AddMonoidWithOne.toOne.{u2} A (AddGroupWithOne.toAddMonoidWithOne.{u2} A (AddCommGroupWithOne.toAddGroupWithOne.{u2} A (Ring.toAddCommGroupWithOne.{u2} A (CommRing.toRing.{u2} A _inst_8))))))))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f)))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (NonAssocRing.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) _inst_8)))))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f)))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (Semiring.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) _inst_8)))))
 Case conversion may be inaccurate. Consider using '#align linear_equiv.det_mul_det_symm LinearEquiv.det_mul_det_symmₓ'. -/
 /-- The determinants of a `linear_equiv` and its inverse multiply to 1. -/
 @[simp]
@@ -665,7 +665,7 @@ theorem LinearEquiv.det_mul_det_symm {A : Type _} [CommRing A] [Module A M] (f :
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} A (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (HasLiftT.mk.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CoeTCₓ.coe.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (coeBase.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f))) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (HasLiftT.mk.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CoeTCₓ.coe.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (coeBase.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) f))) (OfNat.ofNat.{u2} A 1 (OfNat.mk.{u2} A 1 (One.one.{u2} A (AddMonoidWithOne.toOne.{u2} A (AddGroupWithOne.toAddMonoidWithOne.{u2} A (AddCommGroupWithOne.toAddGroupWithOne.{u2} A (Ring.toAddCommGroupWithOne.{u2} A (CommRing.toRing.{u2} A _inst_8))))))))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f))) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f))) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f))) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f))) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f))) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f))) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f))) _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f))) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f))) (NonAssocRing.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f))) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f))) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f))) _inst_8)))))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (Semiring.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) f))) _inst_8)))))
 Case conversion may be inaccurate. Consider using '#align linear_equiv.det_symm_mul_det LinearEquiv.det_symm_mul_detₓ'. -/
 /-- The determinants of a `linear_equiv` and its inverse multiply to 1. -/
 @[simp]
@@ -677,7 +677,7 @@ theorem LinearEquiv.det_symm_mul_det {A : Type _} [CommRing A] [Module A M] (f :
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] {ι : Type.{u4}} [_inst_6 : DecidableEq.{succ u4} ι] [_inst_7 : Fintype.{u4} ι] (f : LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (v : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (v' : Basis.{u4, u1, u3} ι R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5), IsUnit.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Matrix.det.{u1, u4} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (coeFn.{max (succ (max u2 u3)) (succ (max u4 u1)), max (succ (max u2 u3)) (succ (max u4 u1))} (LinearEquiv.{u1, u1, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.toMatrix._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.toMatrix._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearMap.toMatrix._proof_3.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (_x : LinearEquiv.{u1, u1, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.toMatrix._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.toMatrix._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearMap.toMatrix._proof_3.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) -> (Matrix.{u4, u4, u1} ι ι R)) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u3, max u4 u1} R R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearMap.toMatrix._proof_3.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.toMatrix._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.toMatrix._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.toMatrix.{u1, u4, u4, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 v v') ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (coeBase.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u2, u3} R R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) f)))
 but is expected to have type
-  forall {R : Type.{u4}} [_inst_1 : CommRing.{u4} R] {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] {M' : Type.{u2}} [_inst_4 : AddCommGroup.{u2} M'] [_inst_5 : Module.{u4, u2} R M' (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] (f : LinearEquiv.{u4, u4, u3, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (v : Basis.{u1, u4, u3} ι R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (v' : Basis.{u1, u4, u2} ι R M' (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5), IsUnit.{u4} R (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (Matrix.det.{u4, u1} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), max (succ u3) (succ u2), max (succ u4) (succ u1)} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) => Matrix.{u1, u1, u4} ι ι R) _x) (SMulHomClass.toFunLike.{max (max (max u4 u3) u2) u1, u4, max u3 u2, max u4 u1} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (SMulZeroClass.toSMul.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toZero.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toAddZeroClass.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Module.toDistribMulAction.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))))))) (SMulZeroClass.toSMul.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (AddMonoid.toZero.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (AddMonoid.toAddZeroClass.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u4 u3) u2) u1, u4, max u3 u2, max u4 u1} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5))))) (Module.toDistribMulAction.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u4, max u3 u2, max u4 u1, max (max (max u4 u3) u2) u1} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, max u3 u2, max u4 u1, max (max (max u4 u3) u2) u1} R R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, max u3 u2, max u4 u1} R R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (LinearMap.toMatrix.{u4, u1, u1, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 v v') (LinearEquiv.toLinearMap.{u4, u4, u3, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 f)))
+  forall {R : Type.{u4}} [_inst_1 : CommRing.{u4} R] {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] {M' : Type.{u2}} [_inst_4 : AddCommGroup.{u2} M'] [_inst_5 : Module.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] (f : LinearEquiv.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (v : Basis.{u1, u4, u3} ι R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (v' : Basis.{u1, u4, u2} ι R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5), IsUnit.{u4} R (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (Matrix.det.{u4, u1} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), max (succ u3) (succ u2), max (succ u4) (succ u1)} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) => Matrix.{u1, u1, u4} ι ι R) _x) (SMulHomClass.toFunLike.{max (max (max u4 u3) u2) u1, u4, max u3 u2, max u4 u1} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (SMulZeroClass.toSMul.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toZero.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toAddZeroClass.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Module.toDistribMulAction.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))))))) (SMulZeroClass.toSMul.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (AddMonoid.toZero.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (AddMonoid.toAddZeroClass.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u4 u3) u2) u1, u4, max u3 u2, max u4 u1} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5))))) (Module.toDistribMulAction.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u4, max u3 u2, max u4 u1, max (max (max u4 u3) u2) u1} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, max u3 u2, max u4 u1, max (max (max u4 u3) u2) u1} R R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, max u3 u2, max u4 u1} R R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (LinearMap.toMatrix.{u4, u1, u1, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 v v') (LinearEquiv.toLinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 f)))
 Case conversion may be inaccurate. Consider using '#align linear_equiv.is_unit_det LinearEquiv.isUnit_detₓ'. -/
 -- Cannot be stated using `linear_map.det` because `f` is not an endomorphism.
 theorem LinearEquiv.isUnit_det (f : M ≃ₗ[R] M') (v : Basis ι R M) (v' : Basis ι R M') :
@@ -691,7 +691,7 @@ theorem LinearEquiv.isUnit_det (f : M ≃ₗ[R] M') (v : Basis ι R M) (v' : Bas
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), IsUnit.{u2} A (Ring.toMonoid.{u2} A (CommRing.toRing.{u2} A _inst_8)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (HasLiftT.mk.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CoeTCₓ.coe.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (coeBase.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) f))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), IsUnit.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (Ring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) _inst_8)))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), IsUnit.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) _inst_8)))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f))
 Case conversion may be inaccurate. Consider using '#align linear_equiv.is_unit_det' LinearEquiv.isUnit_det'ₓ'. -/
 /-- Specialization of `linear_equiv.is_unit_det` -/
 theorem LinearEquiv.isUnit_det' {A : Type _} [CommRing A] [Module A M] (f : M ≃ₗ[A] M) :
@@ -703,7 +703,7 @@ theorem LinearEquiv.isUnit_det' {A : Type _} [CommRing A] [Module A M] (f : M 
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_8 : Field.{u2} 𝕜] [_inst_9 : Module.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} 𝕜 (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) => (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> 𝕜) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)) _inst_9) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (HasLiftT.mk.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CoeTCₓ.coe.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (coeBase.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))))))) (LinearEquiv.symm.{u2, u2, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) f))) (Inv.inv.{u2} 𝕜 (DivInvMonoid.toHasInv.{u2} 𝕜 (DivisionRing.toDivInvMonoid.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) => (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> 𝕜) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)) _inst_9) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (HasLiftT.mk.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CoeTCₓ.coe.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (coeBase.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))))))) f)))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_8 : Field.{u2} 𝕜] [_inst_9 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => 𝕜) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) f))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)) _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) f))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => 𝕜) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (Field.toInv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => 𝕜) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) _inst_8) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)) _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_8 : Field.{u2} 𝕜] [_inst_9 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => 𝕜) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) f))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)) _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) f))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => 𝕜) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (Field.toInv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => 𝕜) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) _inst_8) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} 𝕜 M (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (CommSemiring.toSemiring.{u2} 𝕜 (CommRing.toCommSemiring.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)) _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)))
 Case conversion may be inaccurate. Consider using '#align linear_equiv.det_coe_symm LinearEquiv.det_coe_symmₓ'. -/
 /-- The determinant of `f.symm` is the inverse of that of `f` when `f` is a linear equiv. -/
 theorem LinearEquiv.det_coe_symm {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] (f : M ≃ₗ[𝕜] M) :
@@ -715,7 +715,7 @@ theorem LinearEquiv.det_coe_symm {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] (f
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] {ι : Type.{u4}} [_inst_6 : DecidableEq.{succ u4} ι] [_inst_7 : Fintype.{u4} ι] {f : LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5} {v : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {v' : Basis.{u4, u1, u3} ι R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5}, (IsUnit.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Matrix.det.{u1, u4} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (coeFn.{max (succ (max u2 u3)) (succ (max u4 u1)), max (succ (max u2 u3)) (succ (max u4 u1))} (LinearEquiv.{u1, u1, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_1.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_2.{u1} R _inst_1) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearEquiv.ofIsUnitDet._proof_3.{u1, u3} R _inst_1 M' _inst_4 _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (_x : LinearEquiv.{u1, u1, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_1.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_2.{u1} R _inst_1) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearEquiv.ofIsUnitDet._proof_3.{u1, u3} R _inst_1 M' _inst_4 _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) -> (Matrix.{u4, u4, u1} ι ι R)) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u3, max u4 u1} R R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearEquiv.ofIsUnitDet._proof_3.{u1, u3} R _inst_1 M' _inst_4 _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_4.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_5.{u1} R _inst_1)) (LinearMap.toMatrix.{u1, u4, u4, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 v v') f))) -> (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_6.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_7.{u1} R _inst_1) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5)
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] {ι : Type.{u4}} [_inst_6 : DecidableEq.{succ u4} ι] [_inst_7 : Fintype.{u4} ι] {f : LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5} {v : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {v' : Basis.{u4, u1, u3} ι R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5}, (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Matrix.det.{u1, u4} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (FunLike.coe.{max (max (max (succ u1) (succ u2)) (succ u3)) (succ u4), max (succ u2) (succ u3), max (succ u1) (succ u4)} (LinearEquiv.{u1, u1, max u3 u2, max u1 u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) => Matrix.{u4, u4, u1} ι ι R) _x) (SMulHomClass.toFunLike.{max (max (max u1 u2) u3) u4, u1, max u2 u3, max u1 u4} (LinearEquiv.{u1, u1, max u3 u2, max u1 u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (SMulZeroClass.toSMul.{u1, max u2 u3} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toZero.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toAddZeroClass.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u3} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))))))) (SMulZeroClass.toSMul.{u1, max u1 u4} R (Matrix.{u4, u4, u1} ι ι R) (AddMonoid.toZero.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max u1 u4} R (Matrix.{u4, u4, u1} ι ι R) (AddMonoid.toAddZeroClass.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max u1 u4} R (Matrix.{u4, u4, u1} ι ι R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u1 u4} R (Matrix.{u4, u4, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u1 u2) u3) u4, u1, max u2 u3, max u1 u4} (LinearEquiv.{u1, u1, max u3 u2, max u1 u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u2 u3} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5))))) (Module.toDistribMulAction.{u1, max u1 u4} R (Matrix.{u4, u4, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u3, max u1 u4, max (max (max u1 u2) u3) u4} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearEquiv.{u1, u1, max u3 u2, max u1 u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u3, max u1 u4, max (max (max u1 u2) u3) u4} R R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearEquiv.{u1, u1, max u3 u2, max u1 u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u3, max u1 u4} R R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (LinearMap.toMatrix.{u1, u4, u4, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 v v') f))) -> (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5)
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] {ι : Type.{u4}} [_inst_6 : DecidableEq.{succ u4} ι] [_inst_7 : Fintype.{u4} ι] {f : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5} {v : Basis.{u4, u1, u2} ι R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {v' : Basis.{u4, u1, u3} ι R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5}, (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.det.{u1, u4} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (FunLike.coe.{max (max (max (succ u1) (succ u2)) (succ u3)) (succ u4), max (succ u2) (succ u3), max (succ u1) (succ u4)} (LinearEquiv.{u1, u1, max u3 u2, max u1 u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) => Matrix.{u4, u4, u1} ι ι R) _x) (SMulHomClass.toFunLike.{max (max (max u1 u2) u3) u4, u1, max u2 u3, max u1 u4} (LinearEquiv.{u1, u1, max u3 u2, max u1 u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (SMulZeroClass.toSMul.{u1, max u2 u3} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toZero.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toAddZeroClass.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u3} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))))))) (SMulZeroClass.toSMul.{u1, max u1 u4} R (Matrix.{u4, u4, u1} ι ι R) (AddMonoid.toZero.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max u1 u4} R (Matrix.{u4, u4, u1} ι ι R) (AddMonoid.toAddZeroClass.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max u1 u4} R (Matrix.{u4, u4, u1} ι ι R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u1 u4} R (Matrix.{u4, u4, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u1 u2) u3) u4, u1, max u2 u3, max u1 u4} (LinearEquiv.{u1, u1, max u3 u2, max u1 u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u2 u3} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5))))) (Module.toDistribMulAction.{u1, max u1 u4} R (Matrix.{u4, u4, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u3, max u1 u4, max (max (max u1 u2) u3) u4} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearEquiv.{u1, u1, max u3 u2, max u1 u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u3, max u1 u4, max (max (max u1 u2) u3) u4} R R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearEquiv.{u1, u1, max u3 u2, max u1 u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u3, max u1 u4} R R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (LinearMap.toMatrix.{u1, u4, u4, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 v v') f))) -> (LinearEquiv.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5)
 Case conversion may be inaccurate. Consider using '#align linear_equiv.of_is_unit_det LinearEquiv.ofIsUnitDetₓ'. -/
 /-- Builds a linear equivalence from a linear map whose determinant in some bases is a unit. -/
 @[simps]
@@ -745,7 +745,7 @@ def LinearEquiv.ofIsUnitDet {f : M →ₗ[R] M'} {v : Basis ι R M} {v' : Basis
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] {ι : Type.{u4}} [_inst_6 : DecidableEq.{succ u4} ι] [_inst_7 : Fintype.{u4} ι] {f : LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5} {v : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {v' : Basis.{u4, u1, u3} ι R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5} (h : IsUnit.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Matrix.det.{u1, u4} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (coeFn.{max (succ (max u2 u3)) (succ (max u4 u1)), max (succ (max u2 u3)) (succ (max u4 u1))} (LinearEquiv.{u1, u1, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.toMatrix._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.toMatrix._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearMap.toMatrix._proof_3.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (_x : LinearEquiv.{u1, u1, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.toMatrix._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.toMatrix._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearMap.toMatrix._proof_3.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) -> (Matrix.{u4, u4, u1} ι ι R)) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u3, max u4 u1} R R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearMap.toMatrix._proof_3.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.toMatrix._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.toMatrix._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.toMatrix.{u1, u4, u4, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 v v') f))), Eq.{max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_6.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_7.{u1} R _inst_1) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_6.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_7.{u1} R _inst_1) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_6.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_7.{u1} R _inst_1) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (coeBase.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_6.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_7.{u1} R _inst_1) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u2, u3} R R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_6.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_7.{u1} R _inst_1))))) (LinearEquiv.ofIsUnitDet.{u1, u2, u3, u4} R _inst_1 M _inst_2 _inst_3 M' _inst_4 _inst_5 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 f v v' h)) f
 but is expected to have type
-  forall {R : Type.{u4}} [_inst_1 : CommRing.{u4} R] {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] {M' : Type.{u2}} [_inst_4 : AddCommGroup.{u2} M'] [_inst_5 : Module.{u4, u2} R M' (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] {f : LinearMap.{u4, u4, u3, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5} {v : Basis.{u1, u4, u3} ι R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3} {v' : Basis.{u1, u4, u2} ι R M' (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5} (h : IsUnit.{u4} R (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (Matrix.det.{u4, u1} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), max (succ u3) (succ u2), max (succ u4) (succ u1)} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) => Matrix.{u1, u1, u4} ι ι R) _x) (SMulHomClass.toFunLike.{max (max (max u4 u3) u2) u1, u4, max u3 u2, max u4 u1} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (SMulZeroClass.toSMul.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toZero.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toAddZeroClass.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Module.toDistribMulAction.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))))))) (SMulZeroClass.toSMul.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (AddMonoid.toZero.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (AddMonoid.toAddZeroClass.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u4 u3) u2) u1, u4, max u3 u2, max u4 u1} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5))))) (Module.toDistribMulAction.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u4, max u3 u2, max u4 u1, max (max (max u4 u3) u2) u1} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, max u3 u2, max u4 u1, max (max (max u4 u3) u2) u1} R R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, max u3 u2, max u4 u1} R R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (LinearMap.toMatrix.{u4, u1, u1, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 v v') f))), Eq.{max (succ u3) (succ u2)} (LinearMap.{u4, u4, u3, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearEquiv.toLinearMap.{u4, u4, u3, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (LinearEquiv.ofIsUnitDet.{u4, u3, u2, u1} R _inst_1 M _inst_2 _inst_3 M' _inst_4 _inst_5 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 f v v' h)) f
+  forall {R : Type.{u4}} [_inst_1 : CommRing.{u4} R] {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] {M' : Type.{u2}} [_inst_4 : AddCommGroup.{u2} M'] [_inst_5 : Module.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] {f : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5} {v : Basis.{u1, u4, u3} ι R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3} {v' : Basis.{u1, u4, u2} ι R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5} (h : IsUnit.{u4} R (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (Matrix.det.{u4, u1} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), max (succ u3) (succ u2), max (succ u4) (succ u1)} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) => Matrix.{u1, u1, u4} ι ι R) _x) (SMulHomClass.toFunLike.{max (max (max u4 u3) u2) u1, u4, max u3 u2, max u4 u1} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (SMulZeroClass.toSMul.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toZero.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toAddZeroClass.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Module.toDistribMulAction.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))))))) (SMulZeroClass.toSMul.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (AddMonoid.toZero.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (AddMonoid.toAddZeroClass.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u4 u3) u2) u1, u4, max u3 u2, max u4 u1} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5))))) (Module.toDistribMulAction.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u4, max u3 u2, max u4 u1, max (max (max u4 u3) u2) u1} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, max u3 u2, max u4 u1, max (max (max u4 u3) u2) u1} R R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, max u3 u2, max u4 u1} R R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (LinearMap.toMatrix.{u4, u1, u1, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 v v') f))), Eq.{max (succ u3) (succ u2)} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearEquiv.toLinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (LinearEquiv.ofIsUnitDet.{u4, u3, u2, u1} R _inst_1 M _inst_2 _inst_3 M' _inst_4 _inst_5 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 f v v' h)) f
 Case conversion may be inaccurate. Consider using '#align linear_equiv.coe_of_is_unit_det LinearEquiv.coe_ofIsUnitDetₓ'. -/
 @[simp]
 theorem LinearEquiv.coe_ofIsUnitDet {f : M →ₗ[R] M'} {v : Basis ι R M} {v' : Basis ι R M'}
@@ -759,7 +759,7 @@ theorem LinearEquiv.coe_ofIsUnitDet {f : M →ₗ[R] M'} {v : Basis ι R M} {v'
 lean 3 declaration is
   forall {𝕜 : Type.{u1}} [_inst_8 : Field.{u1} 𝕜] {M : Type.{u2}} [_inst_9 : AddCommGroup.{u2} M] [_inst_10 : Module.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9)] [_inst_11 : FiniteDimensional.{u1, u2} 𝕜 M (Field.toDivisionRing.{u1} 𝕜 _inst_8) _inst_9 _inst_10] (f : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))) (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10), (Ne.{succ u1} 𝕜 (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) _inst_9 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) _inst_9 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) => (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) -> 𝕜) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) _inst_9 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) (LinearMap.det.{u2, u1} M _inst_9 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)) _inst_10) f) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))))))))))) -> (LinearEquiv.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))) (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))))) (LinearMap.equivOfDetNeZero._proof_1.{u1} 𝕜 _inst_8) (LinearMap.equivOfDetNeZero._proof_2.{u1} 𝕜 _inst_8) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10)
 but is expected to have type
-  forall {𝕜 : Type.{u1}} [_inst_8 : Field.{u1} 𝕜] {M : Type.{u2}} [_inst_9 : AddCommGroup.{u2} M] [_inst_10 : Module.{u1, u2} 𝕜 M (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9)] [_inst_11 : FiniteDimensional.{u1, u2} 𝕜 M (Field.toDivisionRing.{u1} 𝕜 _inst_8) _inst_9 _inst_10] (f : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10), (Ne.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) _inst_9 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (fun (_x : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) _inst_9 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) _inst_9 _inst_10)))))) (MulOneClass.toMul.{u1} 𝕜 (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) _inst_9 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) _inst_9 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8))))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) _inst_9 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))))) (LinearMap.det.{u2, u1} M _inst_9 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)) _inst_10) f) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) (CommMonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) (CommGroupWithZero.toCommMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) (Semifield.toCommGroupWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) (Field.toSemifield.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) _inst_8))))))) -> (LinearEquiv.{u1, u1, u2, u2} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10)
+  forall {𝕜 : Type.{u1}} [_inst_8 : Field.{u1} 𝕜] {M : Type.{u2}} [_inst_9 : AddCommGroup.{u2} M] [_inst_10 : Module.{u1, u2} 𝕜 M (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9)] [_inst_11 : FiniteDimensional.{u1, u2} 𝕜 M (Field.toDivisionRing.{u1} 𝕜 _inst_8) _inst_9 _inst_10] (f : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10), (Ne.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.semiring.{u1, u2} 𝕜 M (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (fun (_x : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.semiring.{u1, u2} 𝕜 M (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.semiring.{u1, u2} 𝕜 M (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10))))) (MulOneClass.toMul.{u1} 𝕜 (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.semiring.{u1, u2} 𝕜 M (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.semiring.{u1, u2} 𝕜 M (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8))))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.semiring.{u1, u2} 𝕜 M (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))))) (LinearMap.det.{u2, u1} M _inst_9 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)) _inst_10) f) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) (CommMonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) (CommGroupWithZero.toCommMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) (Semifield.toCommGroupWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) (Field.toSemifield.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (CommSemiring.toSemiring.{u1} 𝕜 (CommRing.toCommSemiring.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) _inst_8))))))) -> (LinearEquiv.{u1, u1, u2, u2} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10)
 Case conversion may be inaccurate. Consider using '#align linear_map.equiv_of_det_ne_zero LinearMap.equivOfDetNeZeroₓ'. -/
 /-- Builds a linear equivalence from a linear map on a finite-dimensional vector space whose
 determinant is nonzero. -/
@@ -778,7 +778,7 @@ def LinearMap.equivOfDetNeZero {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCom
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (e : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (f : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (f' : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3), (forall (x : M), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f x) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f' (coeFn.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => M -> M) (LinearEquiv.hasCoeToFun.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) e x))) -> (Associated.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) f) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) f'))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (e : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (f : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (f' : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3), (forall (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) x) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) f x) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) f' (FunLike.coe.{succ u1, succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => M) _x) (SMulHomClass.toFunLike.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R M M (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (Module.toDistribMulAction.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (Module.toDistribMulAction.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R M M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (Module.toDistribMulAction.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Module.toDistribMulAction.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, u1, u1} R M M (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, u1, u1} R R M M (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, u1} R R M M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) e x))) -> (Associated.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (Ring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) _inst_1)))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3)))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3)))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) f'))
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (e : LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (f : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (f' : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3), (forall (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) x) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f x) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f' (FunLike.coe.{succ u1, succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => M) _x) (SMulHomClass.toFunLike.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R M M (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (Module.toDistribMulAction.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (Module.toDistribMulAction.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R M M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (Module.toDistribMulAction.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Module.toDistribMulAction.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, u1, u1} R M M (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, u1, u1} R R M M (LinearEquiv.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) e x))) -> (Associated.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) _inst_1)))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) f'))
 Case conversion may be inaccurate. Consider using '#align linear_map.associated_det_of_eq_comp LinearMap.associated_det_of_eq_compₓ'. -/
 theorem LinearMap.associated_det_of_eq_comp (e : M ≃ₗ[R] M) (f f' : M →ₗ[R] M)
     (h : ∀ x, f x = f' (e x)) : Associated f.det f'.det :=
@@ -796,7 +796,7 @@ theorem LinearMap.associated_det_of_eq_comp (e : M ≃ₗ[R] M) (f f' : M →ₗ
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {N : Type.{u3}} [_inst_8 : AddCommGroup.{u3} N] [_inst_9 : Module.{u1, u3} R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8)] (f : LinearMap.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_3) (e : LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (e' : LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9), Associated.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) (LinearMap.comp.{u1, u1, u1, u2, u3, u2} R R R M N M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomCompTriple.ids.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (coeBase.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u2, u3} R R M N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) e))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) (LinearMap.comp.{u1, u1, u1, u2, u3, u2} R R R M N M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomCompTriple.ids.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (coeBase.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u2, u3} R R M N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) e')))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {N : Type.{u3}} [_inst_8 : AddCommGroup.{u3} N] [_inst_9 : Module.{u2, u3} R N (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8)] (f : LinearMap.{u2, u2, u3, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_3) (e : LinearEquiv.{u2, u2, u1, u3} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (e' : LinearEquiv.{u2, u2, u1, u3} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9), Associated.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) (Ring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) _inst_1)))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3)))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3)))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e')))
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {N : Type.{u3}} [_inst_8 : AddCommGroup.{u3} N] [_inst_9 : Module.{u2, u3} R N (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8)] (f : LinearMap.{u2, u2, u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_3) (e : LinearEquiv.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (e' : LinearEquiv.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9), Associated.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) _inst_1)))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.semiring.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e')))
 Case conversion may be inaccurate. Consider using '#align linear_map.associated_det_comp_equiv LinearMap.associated_det_comp_equivₓ'. -/
 theorem LinearMap.associated_det_comp_equiv {N : Type _} [AddCommGroup N] [Module R N]
     (f : N →ₗ[R] M) (e e' : M ≃ₗ[R] N) : Associated (f ∘ₗ ↑e).det (f ∘ₗ ↑e').det :=
@@ -836,7 +836,7 @@ def Basis.det : AlternatingMap R M R ι
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (v : ι -> M), Eq.{succ u1} R (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v) (Matrix.det.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (Basis.toMatrix.{u3, u3, u1, u2} ι ι R M (CommRing.toCommSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 e v))
 but is expected to have type
-  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] (e : Basis.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (v : ι -> M), Eq.{succ u3} R (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (AlternatingMap.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (Basis.det.{u3, u2, u1} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v) (Matrix.det.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (Basis.toMatrix.{u1, u1, u3, u2} ι ι R M (CommRing.toCommSemiring.{u3} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 e v))
+  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] (e : Basis.{u1, u3, u2} ι R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (v : ι -> M), Eq.{succ u3} R (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (AlternatingMap.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (Basis.det.{u3, u2, u1} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v) (Matrix.det.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (Basis.toMatrix.{u1, u1, u3, u2} ι ι R M (CommRing.toCommSemiring.{u3} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 e v))
 Case conversion may be inaccurate. Consider using '#align basis.det_apply Basis.det_applyₓ'. -/
 theorem Basis.det_apply (v : ι → M) : e.det v = det (e.toMatrix v) :=
   rfl
@@ -846,7 +846,7 @@ theorem Basis.det_apply (v : ι → M) : e.det v = det (e.toMatrix v) :=
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3), Eq.{succ u1} R (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (fun (_x : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) e)) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))))))
 but is expected to have type
-  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] (e : Basis.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3), Eq.{succ u3} R (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (AlternatingMap.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (Basis.det.{u3, u2, u1} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) e)) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (NonAssocRing.toOne.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))
+  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] (e : Basis.{u1, u3, u2} ι R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3), Eq.{succ u3} R (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (AlternatingMap.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (Basis.det.{u3, u2, u1} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) e)) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))
 Case conversion may be inaccurate. Consider using '#align basis.det_self Basis.det_selfₓ'. -/
 theorem Basis.det_self : e.det e = 1 := by simp [e.det_apply]
 #align basis.det_self Basis.det_self
@@ -855,7 +855,7 @@ theorem Basis.det_self : e.det e = 1 := by simp [e.det_apply]
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) [_inst_8 : IsEmpty.{succ u3} ι], Eq.{max (succ u2) (succ u1) (succ u3)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (AlternatingMap.constOfIsEmpty.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι _inst_8 (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) [_inst_8 : IsEmpty.{succ u3} ι], Eq.{max (max (succ u2) (succ u1)) (succ u3)} (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (AlternatingMap.constOfIsEmpty.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι _inst_8 (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (NonAssocRing.toOne.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))))
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) [_inst_8 : IsEmpty.{succ u3} ι], Eq.{max (max (succ u2) (succ u1)) (succ u3)} (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (AlternatingMap.constOfIsEmpty.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι _inst_8 (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))
 Case conversion may be inaccurate. Consider using '#align basis.det_is_empty Basis.det_isEmptyₓ'. -/
 @[simp]
 theorem Basis.det_isEmpty [IsEmpty ι] : e.det = AlternatingMap.constOfIsEmpty R M 1 :=
@@ -868,7 +868,7 @@ theorem Basis.det_isEmpty [IsEmpty ι] : e.det = AlternatingMap.constOfIsEmpty R
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) [_inst_8 : Nontrivial.{u1} R], Ne.{max (succ u2) (succ u1) (succ u3)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (OfNat.ofNat.{max u2 u1 u3} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) 0 (OfNat.mk.{max u2 u1 u3} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) 0 (Zero.zero.{max u2 u1 u3} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (AlternatingMap.zero.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι))))
 but is expected to have type
-  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] (e : Basis.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) [_inst_8 : Nontrivial.{u3} R], Ne.{max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (Basis.det.{u3, u2, u1} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (OfNat.ofNat.{max (max u3 u2) u1} (AlternatingMap.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) 0 (Zero.toOfNat0.{max (max u3 u2) u1} (AlternatingMap.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (AlternatingMap.zero.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι)))
+  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] (e : Basis.{u1, u3, u2} ι R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) [_inst_8 : Nontrivial.{u3} R], Ne.{max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (Basis.det.{u3, u2, u1} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (OfNat.ofNat.{max (max u3 u2) u1} (AlternatingMap.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) 0 (Zero.toOfNat0.{max (max u3 u2) u1} (AlternatingMap.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (AlternatingMap.zero.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι)))
 Case conversion may be inaccurate. Consider using '#align basis.det_ne_zero Basis.det_ne_zeroₓ'. -/
 /-- `basis.det` is not the zero map. -/
 theorem Basis.det_ne_zero [Nontrivial R] : e.det ≠ 0 := fun h => by simpa [h] using e.det_self
@@ -878,7 +878,7 @@ theorem Basis.det_ne_zero [Nontrivial R] : e.det ≠ 0 := fun h => by simpa [h]
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) {v : ι -> M}, Iff (And (LinearIndependent.{u3, u1, u2} ι R M v (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Eq.{succ u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (Set.range.{u2, succ u3} M ι v)) (Top.top.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (IsUnit.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) {v : ι -> M}, Iff (And (LinearIndependent.{u3, u2, u1} ι R M v (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Eq.{succ u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 (Set.range.{u1, succ u3} M ι v)) (Top.top.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.instTopSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (IsUnit.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v))
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) {v : ι -> M}, Iff (And (LinearIndependent.{u3, u2, u1} ι R M v (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Eq.{succ u1} (Submodule.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.span.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 (Set.range.{u1, succ u3} M ι v)) (Top.top.{u1} (Submodule.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.instTopSubmodule.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (IsUnit.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v))
 Case conversion may be inaccurate. Consider using '#align is_basis_iff_det is_basis_iff_detₓ'. -/
 theorem is_basis_iff_det {v : ι → M} :
     LinearIndependent R v ∧ span R (Set.range v) = ⊤ ↔ IsUnit (e.det v) :=
@@ -904,7 +904,7 @@ theorem is_basis_iff_det {v : ι → M} :
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (e' : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3), IsUnit.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (fun (_x : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) e'))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (e' : Basis.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3), IsUnit.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) e'))
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (e' : Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3), IsUnit.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) e'))
 Case conversion may be inaccurate. Consider using '#align basis.is_unit_det Basis.isUnit_detₓ'. -/
 theorem Basis.isUnit_det (e' : Basis ι R M) : IsUnit (e.det e') :=
   (is_basis_iff_det e).mp ⟨e'.LinearIndependent, e'.span_eq⟩
@@ -914,7 +914,7 @@ theorem Basis.isUnit_det (e' : Basis ι R M) : IsUnit (e.det e') :=
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (f : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι), Eq.{max (succ u2) (succ u1) (succ u3)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) f (SMul.smul.{u1, max u2 u1 u3} R (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (AlternatingMap.smul.{u1, u2, u1, u3, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Module.toDistribMulAction.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (smulCommClass_self.{u1, u1} R R (CommRing.toCommMonoid.{u1} R _inst_1) (Monoid.toMulAction.{u1} R (CommMonoid.toMonoid.{u1} R (CommRing.toCommMonoid.{u1} R _inst_1))))) (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) f (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (fun (_x : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) e)) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e))
 but is expected to have type
-  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] (e : Basis.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (f : AlternatingMap.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι), Eq.{max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) f (HSMul.hSMul.{u3, max (max u3 u2) u1, max (max u3 u2) u1} R (AlternatingMap.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (AlternatingMap.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (instHSMul.{u3, max (max u3 u2) u1} R (AlternatingMap.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (AlternatingMap.smul.{u3, u2, u3, u1, u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (smulCommClass_self.{u3, u3} R R (CommRing.toCommMonoid.{u3} R _inst_1) (MulActionWithZero.toMulAction.{u3, u3} R R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (AlternatingMap.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) f (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) e)) (Basis.det.{u3, u2, u1} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e))
+  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] (e : Basis.{u1, u3, u2} ι R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (f : AlternatingMap.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι), Eq.{max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) f (HSMul.hSMul.{u3, max (max u3 u2) u1, max (max u3 u2) u1} R (AlternatingMap.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (AlternatingMap.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (instHSMul.{u3, max (max u3 u2) u1} R (AlternatingMap.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (AlternatingMap.smul.{u3, u2, u3, u1, u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u3} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (smulCommClass_self.{u3, u3} R R (CommRing.toCommMonoid.{u3} R _inst_1) (MulActionWithZero.toMulAction.{u3, u3} R R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (AlternatingMap.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) f (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) e)) (Basis.det.{u3, u2, u1} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e))
 Case conversion may be inaccurate. Consider using '#align alternating_map.eq_smul_basis_det AlternatingMap.eq_smul_basis_detₓ'. -/
 /-- Any alternating map to `R` where `ι` has the cardinality of a basis equals the determinant
 map with respect to that basis, multiplied by the value of that alternating map on that basis. -/
@@ -930,7 +930,7 @@ theorem AlternatingMap.eq_smul_basis_det (f : AlternatingMap R M R ι) : f = f e
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_8 : Finite.{succ u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (f : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι), Iff (Eq.{succ u1} R (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) f (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (fun (_x : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) e)) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))))) (Eq.{max (succ u2) (succ u1) (succ u3)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) f (OfNat.ofNat.{max u2 u1 u3} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) 0 (OfNat.mk.{max u2 u1 u3} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) 0 (Zero.zero.{max u2 u1 u3} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (AlternatingMap.zero.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι)))))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_8 : Finite.{succ u3} ι] (e : Basis.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (f : AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι), Iff (Eq.{succ u2} R (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) f (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) e)) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Eq.{max (max (succ u2) (succ u1)) (succ u3)} (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) f (OfNat.ofNat.{max (max u2 u1) u3} (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) 0 (Zero.toOfNat0.{max (max u2 u1) u3} (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (AlternatingMap.zero.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι))))
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_8 : Finite.{succ u3} ι] (e : Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (f : AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι), Iff (Eq.{succ u2} R (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) f (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) e)) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Eq.{max (max (succ u2) (succ u1)) (succ u3)} (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) f (OfNat.ofNat.{max (max u2 u1) u3} (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) 0 (Zero.toOfNat0.{max (max u2 u1) u3} (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (AlternatingMap.zero.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι))))
 Case conversion may be inaccurate. Consider using '#align alternating_map.map_basis_eq_zero_iff AlternatingMap.map_basis_eq_zero_iffₓ'. -/
 @[simp]
 theorem AlternatingMap.map_basis_eq_zero_iff {ι : Type _} [Finite ι] (e : Basis ι R M)
@@ -945,7 +945,7 @@ theorem AlternatingMap.map_basis_eq_zero_iff {ι : Type _} [Finite ι] (e : Basi
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_8 : Finite.{succ u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (f : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι), Iff (Ne.{succ u1} R (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) f (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (fun (_x : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) e)) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))))) (Ne.{max (succ u2) (succ u1) (succ u3)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) f (OfNat.ofNat.{max u2 u1 u3} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) 0 (OfNat.mk.{max u2 u1 u3} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) 0 (Zero.zero.{max u2 u1 u3} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (AlternatingMap.zero.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι)))))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_8 : Finite.{succ u3} ι] (e : Basis.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (f : AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι), Iff (Ne.{succ u2} R (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) f (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) e)) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Ne.{max (max (succ u2) (succ u1)) (succ u3)} (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) f (OfNat.ofNat.{max (max u2 u1) u3} (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) 0 (Zero.toOfNat0.{max (max u2 u1) u3} (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (AlternatingMap.zero.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι))))
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_8 : Finite.{succ u3} ι] (e : Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (f : AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι), Iff (Ne.{succ u2} R (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) f (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) e)) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Ne.{max (max (succ u2) (succ u1)) (succ u3)} (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) f (OfNat.ofNat.{max (max u2 u1) u3} (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) 0 (Zero.toOfNat0.{max (max u2 u1) u3} (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (AlternatingMap.zero.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι))))
 Case conversion may be inaccurate. Consider using '#align alternating_map.map_basis_ne_zero_iff AlternatingMap.map_basis_ne_zero_iffₓ'. -/
 theorem AlternatingMap.map_basis_ne_zero_iff {ι : Type _} [Finite ι] (e : Basis ι R M)
     (f : AlternatingMap R M R ι) : f e ≠ 0 ↔ f ≠ 0 :=
@@ -958,7 +958,7 @@ variable {A : Type _} [CommRing A] [Module A M]
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Module.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (e : Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (v : ι -> M), Eq.{succ u3} A (coeFn.{max (succ u1) (succ u3) (succ u2), max (max (succ u2) (succ u1)) (succ u3)} (AlternatingMap.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) (fun (_x : AlternatingMap.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) => (ι -> M) -> A) (AlternatingMap.coeFun.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) (Basis.det.{u3, u1, u2} A _inst_8 M _inst_2 _inst_9 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (Function.comp.{succ u2, succ u1, succ u1} ι M M (coeFn.{succ u1, succ u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => M -> M) (LinearMap.hasCoeToFun.{u3, u3, u1, u1} A A M M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))))) f) v)) (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (Ring.toDistrib.{u3} A (CommRing.toRing.{u3} A _inst_8)))) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.det.{u1, u3} M _inst_2 A _inst_8 _inst_9) f) (coeFn.{max (succ u1) (succ u3) (succ u2), max (max (succ u2) (succ u1)) (succ u3)} (AlternatingMap.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) (fun (_x : AlternatingMap.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) => (ι -> M) -> A) (AlternatingMap.coeFun.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) (Basis.det.{u3, u1, u2} A _inst_8 M _inst_2 _inst_9 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (e : Basis.{u3, u2, u1} ι A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (v : ι -> M), Eq.{succ u2} A (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) ι) (ι -> M) (fun (_x : ι -> M) => A) (AlternatingMap.funLike.{u2, u1, u2, u3} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) ι) (Basis.det.{u2, u1, u3} A _inst_8 M _inst_2 _inst_9 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (Function.comp.{succ u3, succ u1, succ u1} ι M M (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) f) v)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) A ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) ι) (ι -> M) (fun (_x : ι -> M) => A) (AlternatingMap.funLike.{u2, u1, u2, u3} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) ι) (Basis.det.{u2, u1, u3} A _inst_8 M _inst_2 _inst_9 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (e : Basis.{u3, u2, u1} ι A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (v : ι -> M), Eq.{succ u2} A (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) ι) (ι -> M) (fun (_x : ι -> M) => A) (AlternatingMap.funLike.{u2, u1, u2, u3} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) ι) (Basis.det.{u2, u1, u3} A _inst_8 M _inst_2 _inst_9 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (Function.comp.{succ u3, succ u1, succ u1} ι M M (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) f) v)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) A ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Semiring.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.semiring.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) ι) (ι -> M) (fun (_x : ι -> M) => A) (AlternatingMap.funLike.{u2, u1, u2, u3} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) ι) (Basis.det.{u2, u1, u3} A _inst_8 M _inst_2 _inst_9 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v))
 Case conversion may be inaccurate. Consider using '#align basis.det_comp Basis.det_compₓ'. -/
 @[simp]
 theorem Basis.det_comp (e : Basis ι A M) (f : M →ₗ[A] M) (v : ι → M) :
@@ -972,7 +972,7 @@ theorem Basis.det_comp (e : Basis ι A M) (f : M →ₗ[A] M) (v : ι → M) :
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {M' : Type.{u2}} [_inst_4 : AddCommGroup.{u2} M'] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u4}} [_inst_8 : CommRing.{u4} A] [_inst_9 : Module.{u4, u1} A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] [_inst_10 : Module.{u4, u2} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4)] (b : Basis.{u3, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (b' : Basis.{u3, u4, u2} ι A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10) (f : LinearMap.{u4, u4, u1, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_9 _inst_10), Eq.{succ u4} A (coeFn.{max (succ u2) (succ u4) (succ u3), max (max (succ u3) (succ u2)) (succ u4)} (AlternatingMap.{u4, u2, u4, u3} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 A (AddCommGroup.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toAddCommGroup.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) ι) (fun (_x : AlternatingMap.{u4, u2, u4, u3} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 A (AddCommGroup.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toAddCommGroup.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) ι) => (ι -> M') -> A) (AlternatingMap.coeFun.{u4, u2, u4, u3} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 A (AddCommGroup.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toAddCommGroup.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) ι) (Basis.det.{u4, u2, u3} A _inst_8 M' _inst_4 _inst_10 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b') (Function.comp.{succ u3, succ u1, succ u2} ι M M' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u4, u4, u1, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_9 _inst_10) (fun (_x : LinearMap.{u4, u4, u1, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_9 _inst_10) => M -> M') (LinearMap.hasCoeToFun.{u4, u4, u1, u2} A A M M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_9 _inst_10 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))))) f) (coeFn.{max (succ u3) (succ u4) (succ u1), max (succ u3) (succ u1)} (Basis.{u3, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (fun (_x : Basis.{u3, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) => ι -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u4) (succ u1), succ u3, succ u1} (Basis.{u3, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) ι (fun (_x : ι) => M) (Basis.funLike.{u3, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) b))) (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Module.End.ring.{u4, u2} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) _inst_4 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))))) (fun (_x : MonoidHom.{u2, u4} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Module.End.ring.{u4, u2} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) _inst_4 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))))) => (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) -> A) (MonoidHom.hasCoeToFun.{u2, u4} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Module.End.ring.{u4, u2} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) _inst_4 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))))) (LinearMap.det.{u2, u4} M' _inst_4 A _inst_8 _inst_10) (LinearMap.comp.{u4, u4, u4, u2, u1, u2} A A A M' M M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_9 _inst_10 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomCompTriple.ids.{u4, u4} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))))) f ((fun (a : Sort.{max (succ u2) (succ u1)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u2) (succ u1), max (succ u2) (succ u1)} a b] => self.0) (LinearEquiv.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (LinearMap.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (HasLiftT.mk.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (LinearMap.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (CoeTCₓ.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (LinearMap.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (coeBase.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (LinearMap.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u4, u4, u2, u1} A A M' M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))))))) (Basis.equiv.{u3, u3, u4, u2, u1} ι ι A M' M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 b' b (Equiv.refl.{succ u3} ι)))))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u4}} [_inst_8 : CommRing.{u4} A] [_inst_9 : Module.{u4, u1} A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] [_inst_10 : Module.{u4, u3} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] (b : Basis.{u2, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (b' : Basis.{u2, u4, u3} ι A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10) (f : LinearMap.{u4, u4, u1, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_9 _inst_10), Eq.{succ u4} A (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u2), succ u4} (AlternatingMap.{u4, u3, u4, u2} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) ι) (ι -> M') (fun (_x : ι -> M') => A) (AlternatingMap.funLike.{u4, u3, u4, u2} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) ι) (Basis.det.{u4, u3, u2} A _inst_8 M' _inst_4 _inst_10 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b') (Function.comp.{succ u2, succ u1, succ u3} ι M M' (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u4, u4, u1, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_9 _inst_10) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u1, u3} A A M M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_9 _inst_10 (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) f) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), succ u2, succ u1} (Basis.{u2, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u2, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) b))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Ring.toNonAssocRing.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.ring.{u4, u3} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) _inst_4 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))))) (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (fun (_x : LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) => A) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Ring.toNonAssocRing.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.ring.{u4, u3} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) _inst_4 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))))) (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulOneClass.toMul.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Ring.toNonAssocRing.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.ring.{u4, u3} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) _inst_4 _inst_10)))))) (MulOneClass.toMul.{u4} A (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Ring.toNonAssocRing.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.ring.{u4, u3} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) _inst_4 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))))) (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Ring.toNonAssocRing.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.ring.{u4, u3} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) _inst_4 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Ring.toNonAssocRing.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.ring.{u4, u3} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) _inst_4 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))))))) (LinearMap.det.{u3, u4} M' _inst_4 A _inst_8 _inst_10) (LinearMap.comp.{u4, u4, u4, u3, u1, u3} A A A M' M M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_9 _inst_10 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomCompTriple.ids.{u4, u4} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))))) f (LinearEquiv.toLinearMap.{u4, u4, u3, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9 (Basis.equiv.{u2, u2, u4, u3, u1} ι ι A M' M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 b' b (Equiv.refl.{succ u2} ι)))))
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u4}} [_inst_8 : CommRing.{u4} A] [_inst_9 : Module.{u4, u1} A M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] [_inst_10 : Module.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] (b : Basis.{u2, u4, u1} ι A M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (b' : Basis.{u2, u4, u3} ι A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10) (f : LinearMap.{u4, u4, u1, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_9 _inst_10), Eq.{succ u4} A (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u2), succ u4} (AlternatingMap.{u4, u3, u4, u2} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))) ι) (ι -> M') (fun (_x : ι -> M') => A) (AlternatingMap.funLike.{u4, u3, u4, u2} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))) ι) (Basis.det.{u4, u3, u2} A _inst_8 M' _inst_4 _inst_10 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b') (Function.comp.{succ u2, succ u1, succ u3} ι M M' (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u4, u4, u1, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_9 _inst_10) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u1, u3} A A M M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_9 _inst_10 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))))) f) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), succ u2, succ u1} (Basis.{u2, u4, u1} ι A M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u2, u4, u1} ι A M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) b))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))) (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (fun (_x : LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) => A) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))) (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulOneClass.toMul.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10))))) (MulOneClass.toMul.{u4} A (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))) (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Semiring.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.semiring.{u4, u3} A M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10)))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))))))) (LinearMap.det.{u3, u4} M' _inst_4 A _inst_8 _inst_10) (LinearMap.comp.{u4, u4, u4, u3, u1, u3} A A A M' M M' (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_9 _inst_10 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHomCompTriple.ids.{u4, u4} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))))) f (LinearEquiv.toLinearMap.{u4, u4, u3, u1} A A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9 (Basis.equiv.{u2, u2, u4, u3, u1} ι ι A M' M (CommSemiring.toSemiring.{u4} A (CommRing.toCommSemiring.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 b' b (Equiv.refl.{succ u2} ι)))))
 Case conversion may be inaccurate. Consider using '#align basis.det_comp_basis Basis.det_comp_basisₓ'. -/
 @[simp]
 theorem Basis.det_comp_basis [Module A M'] (b : Basis ι A M) (b' : Basis ι A M') (f : M →ₗ[A] M') :
@@ -988,7 +988,7 @@ theorem Basis.det_comp_basis [Module A M'] (b : Basis ι A M) (b' : Basis ι A M
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {ι' : Type.{u4}} [_inst_10 : Fintype.{u4} ι'] [_inst_11 : DecidableEq.{succ u4} ι'] (b : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (v : ι' -> M) (e : Equiv.{succ u3, succ u4} ι ι'), Eq.{succ u1} R (coeFn.{max (succ u2) (succ u1) (succ u4), max (max (succ u4) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι') (fun (_x : AlternatingMap.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι') => (ι' -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι') (Basis.det.{u1, u2, u4} R _inst_1 M _inst_2 _inst_3 ι' (fun (a : ι') (b : ι') => _inst_11 a b) _inst_10 (Basis.reindex.{u3, u4, u1, u2} ι ι' R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 b e)) v) (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) (Function.comp.{succ u3, succ u4, succ u2} ι ι' M v (coeFn.{max 1 (max (succ u3) (succ u4)) (succ u4) (succ u3), max (succ u3) (succ u4)} (Equiv.{succ u3, succ u4} ι ι') (fun (_x : Equiv.{succ u3, succ u4} ι ι') => ι -> ι') (Equiv.hasCoeToFun.{succ u3, succ u4} ι ι') e)))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {ι' : Type.{u4}} [_inst_10 : Fintype.{u4} ι'] [_inst_11 : DecidableEq.{succ u4} ι'] (b : Basis.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (v : ι' -> M) (e : Equiv.{succ u3, succ u4} ι ι'), Eq.{succ u2} R (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), max (succ u1) (succ u4), succ u2} (AlternatingMap.{u2, u1, u2, u4} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι') (ι' -> M) (fun (_x : ι' -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u4} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι') (Basis.det.{u2, u1, u4} R _inst_1 M _inst_2 _inst_3 ι' (fun (a : ι') (b : ι') => _inst_11 a b) _inst_10 (Basis.reindex.{u3, u4, u2, u1} ι ι' R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 b e)) v) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) (Function.comp.{succ u3, succ u4, succ u1} ι ι' M v (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (Equiv.{succ u3, succ u4} ι ι') ι (fun (_x : ι) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : ι) => ι') _x) (Equiv.instFunLikeEquiv.{succ u3, succ u4} ι ι') e)))
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {ι' : Type.{u4}} [_inst_10 : Fintype.{u4} ι'] [_inst_11 : DecidableEq.{succ u4} ι'] (b : Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (v : ι' -> M) (e : Equiv.{succ u3, succ u4} ι ι'), Eq.{succ u2} R (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), max (succ u1) (succ u4), succ u2} (AlternatingMap.{u2, u1, u2, u4} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι') (ι' -> M) (fun (_x : ι' -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u4} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι') (Basis.det.{u2, u1, u4} R _inst_1 M _inst_2 _inst_3 ι' (fun (a : ι') (b : ι') => _inst_11 a b) _inst_10 (Basis.reindex.{u3, u4, u2, u1} ι ι' R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 b e)) v) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) (Function.comp.{succ u3, succ u4, succ u1} ι ι' M v (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (Equiv.{succ u3, succ u4} ι ι') ι (fun (_x : ι) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : ι) => ι') _x) (Equiv.instFunLikeEquiv.{succ u3, succ u4} ι ι') e)))
 Case conversion may be inaccurate. Consider using '#align basis.det_reindex Basis.det_reindexₓ'. -/
 theorem Basis.det_reindex {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (b : Basis ι R M) (v : ι' → M)
     (e : ι ≃ ι') : (b.reindex e).det v = b.det (v ∘ e) := by
@@ -999,7 +999,7 @@ theorem Basis.det_reindex {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (b : Ba
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {ι' : Type.{u4}} [_inst_10 : Fintype.{u4} ι'] [_inst_11 : DecidableEq.{succ u4} ι'] (b : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (v : ι -> M) (e : Equiv.{succ u4, succ u3} ι' ι), Eq.{succ u1} R (coeFn.{max (succ u2) (succ u1) (succ u4), max (max (succ u4) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι') (fun (_x : AlternatingMap.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι') => (ι' -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι') (Basis.det.{u1, u2, u4} R _inst_1 M _inst_2 _inst_3 ι' (fun (a : ι') (b : ι') => _inst_11 a b) _inst_10 (Basis.reindex.{u3, u4, u1, u2} ι ι' R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 b (Equiv.symm.{succ u4, succ u3} ι' ι e))) (Function.comp.{succ u4, succ u3, succ u2} ι' ι M v (coeFn.{max 1 (max (succ u4) (succ u3)) (succ u3) (succ u4), max (succ u4) (succ u3)} (Equiv.{succ u4, succ u3} ι' ι) (fun (_x : Equiv.{succ u4, succ u3} ι' ι) => ι' -> ι) (Equiv.hasCoeToFun.{succ u4, succ u3} ι' ι) e))) (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) v)
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {ι' : Type.{u4}} [_inst_10 : Fintype.{u4} ι'] [_inst_11 : DecidableEq.{succ u4} ι'] (b : Basis.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (v : ι -> M) (e : Equiv.{succ u4, succ u3} ι' ι), Eq.{succ u2} R (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), max (succ u1) (succ u4), succ u2} (AlternatingMap.{u2, u1, u2, u4} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι') (ι' -> M) (fun (_x : ι' -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u4} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι') (Basis.det.{u2, u1, u4} R _inst_1 M _inst_2 _inst_3 ι' (fun (a : ι') (b : ι') => _inst_11 a b) _inst_10 (Basis.reindex.{u3, u4, u2, u1} ι ι' R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 b (Equiv.symm.{succ u4, succ u3} ι' ι e))) (Function.comp.{succ u4, succ u3, succ u1} ι' ι M v (FunLike.coe.{max (succ u3) (succ u4), succ u4, succ u3} (Equiv.{succ u4, succ u3} ι' ι) ι' (fun (_x : ι') => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : ι') => ι) _x) (Equiv.instFunLikeEquiv.{succ u4, succ u3} ι' ι) e))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) v)
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {ι' : Type.{u4}} [_inst_10 : Fintype.{u4} ι'] [_inst_11 : DecidableEq.{succ u4} ι'] (b : Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (v : ι -> M) (e : Equiv.{succ u4, succ u3} ι' ι), Eq.{succ u2} R (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), max (succ u1) (succ u4), succ u2} (AlternatingMap.{u2, u1, u2, u4} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι') (ι' -> M) (fun (_x : ι' -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u4} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι') (Basis.det.{u2, u1, u4} R _inst_1 M _inst_2 _inst_3 ι' (fun (a : ι') (b : ι') => _inst_11 a b) _inst_10 (Basis.reindex.{u3, u4, u2, u1} ι ι' R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 b (Equiv.symm.{succ u4, succ u3} ι' ι e))) (Function.comp.{succ u4, succ u3, succ u1} ι' ι M v (FunLike.coe.{max (succ u3) (succ u4), succ u4, succ u3} (Equiv.{succ u4, succ u3} ι' ι) ι' (fun (_x : ι') => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : ι') => ι) _x) (Equiv.instFunLikeEquiv.{succ u4, succ u3} ι' ι) e))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) v)
 Case conversion may be inaccurate. Consider using '#align basis.det_reindex_symm Basis.det_reindex_symmₓ'. -/
 theorem Basis.det_reindex_symm {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (b : Basis ι R M)
     (v : ι → M) (e : ι' ≃ ι) : (b.reindex e.symm).det (v ∘ e) = b.det v := by
@@ -1010,7 +1010,7 @@ theorem Basis.det_reindex_symm {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (b
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] {ι : Type.{u4}} [_inst_6 : DecidableEq.{succ u4} ι] [_inst_7 : Fintype.{u4} ι] (b : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (f : LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (v : ι -> M'), Eq.{succ u1} R (coeFn.{max (succ u3) (succ u1) (succ u4), max (max (succ u4) (succ u3)) (succ u1)} (AlternatingMap.{u1, u3, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u3, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M') -> R) (AlternatingMap.coeFun.{u1, u3, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u3, u4} R _inst_1 M' _inst_4 _inst_5 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 (Basis.map.{u4, u1, u2, u3} ι R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 b f)) v) (coeFn.{max (succ u2) (succ u1) (succ u4), max (max (succ u4) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u4} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) (Function.comp.{succ u4, succ u3, succ u2} ι M' M (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (LinearEquiv.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (fun (_x : LinearEquiv.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) => M' -> M) (LinearEquiv.hasCoeToFun.{u1, u1, u3, u2} R R M' M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.symm.{u1, u1, u2, u3} R R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f)) v))
 but is expected to have type
-  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u1}} [_inst_4 : AddCommGroup.{u1} M'] [_inst_5 : Module.{u3, u1} R M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4)] {ι : Type.{u4}} [_inst_6 : DecidableEq.{succ u4} ι] [_inst_7 : Fintype.{u4} ι] (b : Basis.{u4, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (f : LinearEquiv.{u3, u3, u2, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5) (v : ι -> M'), Eq.{succ u3} R (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u4), max (succ u1) (succ u4), succ u3} (AlternatingMap.{u3, u1, u3, u4} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (ι -> M') (fun (_x : ι -> M') => R) (AlternatingMap.funLike.{u3, u1, u3, u4} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (Basis.det.{u3, u1, u4} R _inst_1 M' _inst_4 _inst_5 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 (Basis.map.{u4, u3, u2, u1} ι R M M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 b f)) v) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u4), max (succ u2) (succ u4), succ u3} (AlternatingMap.{u3, u2, u3, u4} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u3, u2, u3, u4} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (Basis.det.{u3, u2, u4} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) (Function.comp.{succ u4, succ u1, succ u2} ι M' M (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (LinearEquiv.{u3, u3, u1, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) M' (fun (_x : M') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M') => M) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u1, u2} (LinearEquiv.{u3, u3, u1, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) R M' M (SMulZeroClass.toSMul.{u3, u1} R M' (AddMonoid.toZero.{u1} M' (AddCommMonoid.toAddMonoid.{u1} M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4))) (DistribSMul.toSMulZeroClass.{u3, u1} R M' (AddMonoid.toAddZeroClass.{u1} M' (AddCommMonoid.toAddMonoid.{u1} M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4))) (DistribMulAction.toDistribSMul.{u3, u1} R M' (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4)) (Module.toDistribMulAction.{u3, u1} R M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Module.toDistribMulAction.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u1, u2} (LinearEquiv.{u3, u3, u1, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) R M' M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4)) (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Module.toDistribMulAction.{u3, u1} R M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5) (Module.toDistribMulAction.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u3, u1, u2, max u2 u1} R M' M (LinearEquiv.{u3, u3, u1, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u1, u2, max u2 u1} R R M' M (LinearEquiv.{u3, u3, u1, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u1, u2} R R M' M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (LinearEquiv.symm.{u3, u3, u2, u1} R R M M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) f)) v))
+  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u1}} [_inst_4 : AddCommGroup.{u1} M'] [_inst_5 : Module.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4)] {ι : Type.{u4}} [_inst_6 : DecidableEq.{succ u4} ι] [_inst_7 : Fintype.{u4} ι] (b : Basis.{u4, u3, u2} ι R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (f : LinearEquiv.{u3, u3, u2, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5) (v : ι -> M'), Eq.{succ u3} R (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u4), max (succ u1) (succ u4), succ u3} (AlternatingMap.{u3, u1, u3, u4} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (ι -> M') (fun (_x : ι -> M') => R) (AlternatingMap.funLike.{u3, u1, u3, u4} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (Basis.det.{u3, u1, u4} R _inst_1 M' _inst_4 _inst_5 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 (Basis.map.{u4, u3, u2, u1} ι R M M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 b f)) v) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u4), max (succ u2) (succ u4), succ u3} (AlternatingMap.{u3, u2, u3, u4} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u3, u2, u3, u4} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (Basis.det.{u3, u2, u4} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) (Function.comp.{succ u4, succ u1, succ u2} ι M' M (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (LinearEquiv.{u3, u3, u1, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) M' (fun (_x : M') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M') => M) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u1, u2} (LinearEquiv.{u3, u3, u1, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) R M' M (SMulZeroClass.toSMul.{u3, u1} R M' (AddMonoid.toZero.{u1} M' (AddCommMonoid.toAddMonoid.{u1} M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4))) (DistribSMul.toSMulZeroClass.{u3, u1} R M' (AddMonoid.toAddZeroClass.{u1} M' (AddCommMonoid.toAddMonoid.{u1} M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4))) (DistribMulAction.toDistribSMul.{u3, u1} R M' (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4)) (Module.toDistribMulAction.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Module.toDistribMulAction.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u1, u2} (LinearEquiv.{u3, u3, u1, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) R M' M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4)) (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Module.toDistribMulAction.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5) (Module.toDistribMulAction.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u3, u1, u2, max u2 u1} R M' M (LinearEquiv.{u3, u3, u1, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u1, u2, max u2 u1} R R M' M (LinearEquiv.{u3, u3, u1, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u1, u2} R R M' M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (LinearEquiv.symm.{u3, u3, u2, u1} R R M M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) f)) v))
 Case conversion may be inaccurate. Consider using '#align basis.det_map Basis.det_mapₓ'. -/
 @[simp]
 theorem Basis.det_map (b : Basis ι R M) (f : M ≃ₗ[R] M') (v : ι → M') :
@@ -1022,7 +1022,7 @@ theorem Basis.det_map (b : Basis ι R M) (f : M ≃ₗ[R] M') (v : ι → M') :
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] {ι : Type.{u4}} [_inst_6 : DecidableEq.{succ u4} ι] [_inst_7 : Fintype.{u4} ι] (b : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (f : LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5), Eq.{max (succ u3) (succ u1) (succ u4)} (AlternatingMap.{u1, u3, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u3, u4} R _inst_1 M' _inst_4 _inst_5 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 (Basis.map.{u4, u1, u2, u3} ι R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 b f)) (AlternatingMap.compLinearMap.{u1, u2, u1, u4, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 (Basis.det.{u1, u2, u4} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) ((fun (a : Sort.{max (succ u3) (succ u2)}) (b : Sort.{max (succ u3) (succ u2)}) [self : HasLiftT.{max (succ u3) (succ u2), max (succ u3) (succ u2)} a b] => self.0) (LinearEquiv.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (LinearMap.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (HasLiftT.mk.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (LinearEquiv.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (LinearMap.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (CoeTCₓ.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (LinearEquiv.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (LinearMap.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (coeBase.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (LinearEquiv.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (LinearMap.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u3, u2} R R M' M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (LinearEquiv.symm.{u1, u1, u2, u3} R R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f)))
 but is expected to have type
-  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u1}} [_inst_4 : AddCommGroup.{u1} M'] [_inst_5 : Module.{u3, u1} R M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4)] {ι : Type.{u4}} [_inst_6 : DecidableEq.{succ u4} ι] [_inst_7 : Fintype.{u4} ι] (b : Basis.{u4, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (f : LinearEquiv.{u3, u3, u2, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5), Eq.{max (max (succ u3) (succ u1)) (succ u4)} (AlternatingMap.{u3, u1, u3, u4} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (Basis.det.{u3, u1, u4} R _inst_1 M' _inst_4 _inst_5 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 (Basis.map.{u4, u3, u2, u1} ι R M M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 b f)) (AlternatingMap.compLinearMap.{u3, u2, u3, u4, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 (Basis.det.{u3, u2, u4} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) (LinearEquiv.toLinearMap.{u3, u3, u1, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 (LinearEquiv.symm.{u3, u3, u2, u1} R R M M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) f)))
+  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u1}} [_inst_4 : AddCommGroup.{u1} M'] [_inst_5 : Module.{u3, u1} R M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4)] {ι : Type.{u4}} [_inst_6 : DecidableEq.{succ u4} ι] [_inst_7 : Fintype.{u4} ι] (b : Basis.{u4, u3, u2} ι R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (f : LinearEquiv.{u3, u3, u2, u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5), Eq.{max (max (succ u3) (succ u1)) (succ u4)} (AlternatingMap.{u3, u1, u3, u4} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (Basis.det.{u3, u1, u4} R _inst_1 M' _inst_4 _inst_5 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 (Basis.map.{u4, u3, u2, u1} ι R M M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 b f)) (AlternatingMap.compLinearMap.{u3, u2, u3, u4, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 (Basis.det.{u3, u2, u4} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) (LinearEquiv.toLinearMap.{u3, u3, u1, u2} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 (LinearEquiv.symm.{u3, u3, u2, u1} R R M M' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) f)))
 Case conversion may be inaccurate. Consider using '#align basis.det_map' Basis.det_map'ₓ'. -/
 theorem Basis.det_map' (b : Basis ι R M) (f : M ≃ₗ[R] M') :
     (b.map f).det = b.det.compLinearMap f.symm :=
@@ -1033,7 +1033,7 @@ theorem Basis.det_map' (b : Basis ι R M) (f : M ≃ₗ[R] M') :
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι], Eq.{max (succ (max u2 u1)) (succ u1) (succ u2)} (AlternatingMap.{u1, max u2 u1, u1, u2} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (j : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, max u2 u1, u2} R _inst_1 (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (j : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Pi.Function.module.{u2, u1, u1} ι R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 (Pi.basisFun.{u1, u2} R ι (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_7)) (Matrix.detRowAlternating.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1)
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι], Eq.{max (succ u2) (succ u1)} (AlternatingMap.{u2, max u2 u1, u2, u1} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u1, u2} ι (fun (j : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (Pi.module.{u1, u2, u2} ι (fun (x._@.Mathlib.LinearAlgebra.StdBasis._hyg.3573 : ι) => R) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (Basis.det.{u2, max u2 u1, u1} R _inst_1 (ι -> R) (Pi.addCommGroup.{u1, u2} ι (fun (j : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Pi.module.{u1, u2, u2} ι (fun (x._@.Mathlib.LinearAlgebra.StdBasis._hyg.3573 : ι) => R) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 (Pi.basisFun.{u2, u1} R ι (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_7)) (Matrix.detRowAlternating.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1)
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι], Eq.{max (succ u2) (succ u1)} (AlternatingMap.{u2, max u2 u1, u2, u1} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u1, u2} ι (fun (j : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (Pi.module.{u1, u2, u2} ι (fun (x._@.Mathlib.LinearAlgebra.StdBasis._hyg.3573 : ι) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (Basis.det.{u2, max u2 u1, u1} R _inst_1 (ι -> R) (Pi.addCommGroup.{u1, u2} ι (fun (j : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Pi.module.{u1, u2, u2} ι (fun (x._@.Mathlib.LinearAlgebra.StdBasis._hyg.3573 : ι) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 (Pi.basisFun.{u2, u1} R ι (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_7)) (Matrix.detRowAlternating.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1)
 Case conversion may be inaccurate. Consider using '#align pi.basis_fun_det Pi.basisFun_detₓ'. -/
 @[simp]
 theorem Pi.basisFun_det : (Pi.basisFun R ι).det = Matrix.detRowAlternating :=
@@ -1046,7 +1046,7 @@ theorem Pi.basisFun_det : (Pi.basisFun R ι).det = Matrix.detRowAlternating :=
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) {v : ι -> M} (hli : LinearIndependent.{u3, u1, u2} ι R M v (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (hsp : LE.le.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (Top.top.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (Set.range.{u2, succ u3} M ι v))) (i : ι), Eq.{succ (max u2 u1)} (LinearMap.{u1, u1, u2, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M R (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_3 (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (SMul.smul.{u1, max u2 u1} R (LinearMap.{u1, u1, u2, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M R (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_3 (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearMap.hasSmul.{u1, u1, u1, u2, u1} R R R M R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_3 (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Module.toDistribMulAction.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (smulCommClass_self.{u1, u1} R R (CommRing.toCommMonoid.{u1} R _inst_1) (Monoid.toMulAction.{u1} R (CommMonoid.toMonoid.{u1} R (CommRing.toCommMonoid.{u1} R _inst_1))))) (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v) (Basis.coord.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (Basis.mk.{u3, u1, u2} ι R M v (CommRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 hli hsp) i)) (MultilinearMap.toLinearMap.{u1, u2, u1, u3} R ι (fun (i : ι) => M) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => _inst_3) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AlternatingMap.toMultilinearMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e)) (fun (a : ι) (b : ι) => _inst_6 a b) v i)
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) {v : ι -> M} (hli : LinearIndependent.{u3, u2, u1} ι R M v (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (hsp : LE.le.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Preorder.toLE.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (Top.top.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.instTopSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 (Set.range.{u1, succ u3} M ι v))) (i : ι), Eq.{max (succ u2) (succ u1)} (LinearMap.{u2, u2, u1, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M R (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _inst_3 (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (HSMul.hSMul.{u2, max u2 u1, max u2 u1} R (LinearMap.{u2, u2, u1, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M R (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _inst_3 (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (LinearMap.{u2, u2, u1, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M R (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _inst_3 (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (instHSMul.{u2, max u2 u1} R (LinearMap.{u2, u2, u1, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M R (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _inst_3 (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (LinearMap.instSMulLinearMap.{u2, u2, u2, u1, u2} R R R M R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _inst_3 (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (smulCommClass_self.{u2, u2} R R (CommRing.toCommMonoid.{u2} R _inst_1) (MulActionWithZero.toMulAction.{u2, u2} R R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v) (Basis.coord.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 (Basis.mk.{u3, u2, u1} ι R M v (CommRing.toRing.{u2} R _inst_1) _inst_2 _inst_3 hli hsp) i)) (MultilinearMap.toLinearMap.{u2, u1, u2, u3} R ι (fun (i : ι) => M) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (fun (i : ι) => _inst_3) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (AlternatingMap.toMultilinearMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e)) (fun (a : ι) (b : ι) => _inst_6 a b) v i)
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) {v : ι -> M} (hli : LinearIndependent.{u3, u2, u1} ι R M v (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (hsp : LE.le.{u1} (Submodule.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Preorder.toLE.{u1} (Submodule.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (Top.top.{u1} (Submodule.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.instTopSubmodule.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (Submodule.span.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 (Set.range.{u1, succ u3} M ι v))) (i : ι), Eq.{max (succ u2) (succ u1)} (LinearMap.{u2, u2, u1, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M R (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _inst_3 (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (HSMul.hSMul.{u2, max u2 u1, max u2 u1} R (LinearMap.{u2, u2, u1, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M R (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _inst_3 (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (LinearMap.{u2, u2, u1, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M R (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _inst_3 (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (instHSMul.{u2, max u2 u1} R (LinearMap.{u2, u2, u1, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M R (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _inst_3 (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (LinearMap.instSMulLinearMap.{u2, u2, u2, u1, u2} R R R M R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _inst_3 (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (smulCommClass_self.{u2, u2} R R (CommRing.toCommMonoid.{u2} R _inst_1) (MulActionWithZero.toMulAction.{u2, u2} R R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v) (Basis.coord.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 (Basis.mk.{u3, u2, u1} ι R M v (CommRing.toRing.{u2} R _inst_1) _inst_2 _inst_3 hli hsp) i)) (MultilinearMap.toLinearMap.{u2, u1, u2, u3} R ι (fun (i : ι) => M) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (fun (i : ι) => _inst_3) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AlternatingMap.toMultilinearMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e)) (fun (a : ι) (b : ι) => _inst_6 a b) v i)
 Case conversion may be inaccurate. Consider using '#align basis.det_smul_mk_coord_eq_det_update Basis.det_smul_mk_coord_eq_det_updateₓ'. -/
 /-- If we fix a background basis `e`, then for any other basis `v`, we can characterise the
 coordinates provided by `v` in terms of determinants relative to `e`. -/
@@ -1069,7 +1069,7 @@ theorem Basis.det_smul_mk_coord_eq_det_update {v : ι → M} (hli : LinearIndepe
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (w : ι -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))), Eq.{max (succ u2) (succ u1) (succ u3)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 (Basis.unitsSMul.{u3, u1, u2} ι R M (CommRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 e w)) (SMul.smul.{u1, max u2 u1 u3} R (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (AlternatingMap.smul.{u1, u2, u1, u3, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Module.toDistribMulAction.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (smulCommClass_self.{u1, u1} R R (CommRing.toCommMonoid.{u1} R _inst_1) (Monoid.toMulAction.{u1} R (CommMonoid.toMonoid.{u1} R (CommRing.toCommMonoid.{u1} R _inst_1))))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (HasLiftT.mk.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (CoeTCₓ.coe.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (coeBase.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Units.hasCoe.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Inv.inv.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.hasInv.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Finset.prod.{u1, u3} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι (CommGroup.toCommMonoid.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.instCommGroupUnitsToMonoid.{u1} R (CommRing.toCommMonoid.{u1} R _inst_1))) (Finset.univ.{u3} ι _inst_7) (fun (i : ι) => w i)))) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (w : ι -> (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))), Eq.{max (max (succ u2) (succ u1)) (succ u3)} (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 (Basis.unitsSMul.{u3, u2, u1} ι R M (CommRing.toRing.{u2} R _inst_1) _inst_2 _inst_3 e w)) (HSMul.hSMul.{u2, max (max u2 u1) u3, max (max u2 u1) u3} R (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (instHSMul.{u2, max (max u2 u1) u3} R (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (AlternatingMap.smul.{u2, u1, u2, u3, u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (smulCommClass_self.{u2, u2} R R (CommRing.toCommMonoid.{u2} R _inst_1) (MulActionWithZero.toMulAction.{u2, u2} R R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (Units.val.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (Inv.inv.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Units.instInv.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Finset.prod.{u2, u3} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) ι (CommGroup.toCommMonoid.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Units.instCommGroupUnitsToMonoid.{u2} R (CommRing.toCommMonoid.{u2} R _inst_1))) (Finset.univ.{u3} ι _inst_7) (fun (i : ι) => w i)))) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e))
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u2, u1} ι R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (w : ι -> (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))), Eq.{max (max (succ u2) (succ u1)) (succ u3)} (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 (Basis.unitsSMul.{u3, u2, u1} ι R M (CommRing.toRing.{u2} R _inst_1) _inst_2 _inst_3 e w)) (HSMul.hSMul.{u2, max (max u2 u1) u3, max (max u2 u1) u3} R (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (instHSMul.{u2, max (max u2 u1) u3} R (AlternatingMap.{u2, u1, u2, u3} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι) (AlternatingMap.smul.{u2, u1, u2, u3, u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ι R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (smulCommClass_self.{u2, u2} R R (CommRing.toCommMonoid.{u2} R _inst_1) (MulActionWithZero.toMulAction.{u2, u2} R R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (Units.val.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (Inv.inv.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instInv.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Finset.prod.{u2, u3} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) ι (CommGroup.toCommMonoid.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Units.instCommGroupUnitsToMonoid.{u2} R (CommRing.toCommMonoid.{u2} R _inst_1))) (Finset.univ.{u3} ι _inst_7) (fun (i : ι) => w i)))) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e))
 Case conversion may be inaccurate. Consider using '#align basis.det_units_smul Basis.det_unitsSMulₓ'. -/
 /-- If a basis is multiplied columnwise by scalars `w : ι → Rˣ`, then the determinant with respect
 to this basis is multiplied by the product of the inverse of these scalars. -/
@@ -1089,7 +1089,7 @@ theorem Basis.det_unitsSMul (e : Basis ι R M) (w : ι → Rˣ) :
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (w : ι -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))), Eq.{succ u1} R (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (fun (_x : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (Basis.unitsSMul.{u3, u1, u2} ι R M (CommRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 e w))) (Finset.prod.{u1, u3} R ι (CommRing.toCommMonoid.{u1} R _inst_1) (Finset.univ.{u3} ι _inst_7) (fun (i : ι) => (fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (HasLiftT.mk.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (CoeTCₓ.coe.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (coeBase.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Units.hasCoe.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (w i)))
 but is expected to have type
-  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] (e : Basis.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (w : ι -> (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))))), Eq.{succ u3} R (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (AlternatingMap.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (Basis.det.{u3, u2, u1} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Basis.unitsSMul.{u1, u3, u2} ι R M (CommRing.toRing.{u3} R _inst_1) _inst_2 _inst_3 e w))) (Finset.prod.{u3, u1} R ι (CommRing.toCommMonoid.{u3} R _inst_1) (Finset.univ.{u1} ι _inst_7) (fun (i : ι) => Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (w i)))
+  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] (e : Basis.{u1, u3, u2} ι R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (w : ι -> (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))), Eq.{succ u3} R (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (AlternatingMap.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (Basis.det.{u3, u2, u1} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Basis.unitsSMul.{u1, u3, u2} ι R M (CommRing.toRing.{u3} R _inst_1) _inst_2 _inst_3 e w))) (Finset.prod.{u3, u1} R ι (CommRing.toCommMonoid.{u3} R _inst_1) (Finset.univ.{u1} ι _inst_7) (fun (i : ι) => Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (w i)))
 Case conversion may be inaccurate. Consider using '#align basis.det_units_smul_self Basis.det_unitsSMul_selfₓ'. -/
 /-- The determinant of a basis constructed by `units_smul` is the product of the given units. -/
 @[simp]
@@ -1101,7 +1101,7 @@ theorem Basis.det_unitsSMul_self (w : ι → Rˣ) : e.det (e.units_smul w) = ∏
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) {w : ι -> R} (hw : forall (i : ι), IsUnit.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (w i)), Eq.{succ u1} R (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (fun (_x : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (Basis.isUnitSMul.{u3, u1, u2} ι R M (CommRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 e (fun (i : ι) => w i) hw))) (Finset.prod.{u1, u3} R ι (CommRing.toCommMonoid.{u1} R _inst_1) (Finset.univ.{u3} ι _inst_7) (fun (i : ι) => w i))
 but is expected to have type
-  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] (e : Basis.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) {w : ι -> R} (hw : forall (i : ι), IsUnit.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (w i)), Eq.{succ u3} R (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (AlternatingMap.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (Basis.det.{u3, u2, u1} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Basis.isUnitSMul.{u1, u3, u2} ι R M (CommRing.toRing.{u3} R _inst_1) _inst_2 _inst_3 e (fun (i : ι) => w i) hw))) (Finset.prod.{u3, u1} R ι (CommRing.toCommMonoid.{u3} R _inst_1) (Finset.univ.{u1} ι _inst_7) (fun (i : ι) => w i))
+  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] (e : Basis.{u1, u3, u2} ι R M (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) {w : ι -> R} (hw : forall (i : ι), IsUnit.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (w i)), Eq.{succ u3} R (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (AlternatingMap.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u3, u2, u3, u1} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) ι) (Basis.det.{u3, u2, u1} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Basis.isUnitSMul.{u1, u3, u2} ι R M (CommRing.toRing.{u3} R _inst_1) _inst_2 _inst_3 e (fun (i : ι) => w i) hw))) (Finset.prod.{u3, u1} R ι (CommRing.toCommMonoid.{u3} R _inst_1) (Finset.univ.{u1} ι _inst_7) (fun (i : ι) => w i))
 Case conversion may be inaccurate. Consider using '#align basis.det_is_unit_smul Basis.det_isUnitSMulₓ'. -/
 /-- The determinant of a basis constructed by `is_unit_smul` is the product of the given units. -/
 @[simp]
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johannes Hölzl, Patrick Massot, Casper Putz, Anne Baanen
 
 ! This file was ported from Lean 3 source module linear_algebra.determinant
-! leanprover-community/mathlib commit b1c23399f01266afe392a0d8f71f599a0dad4f7b
+! leanprover-community/mathlib commit fe8d0ff42c3c24d789f491dc2622b6cac3d61564
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -18,6 +18,9 @@ import Mathbin.LinearAlgebra.Matrix.Basis
 /-!
 # Determinant of families of vectors
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 This file defines the determinant of an endomorphism, and of a family of vectors
 with respect to some basis. For the determinant of a matrix, see the file
 `linear_algebra.matrix.determinant`.
Diff
@@ -313,7 +313,7 @@ theorem det_toMatrix (b : Basis ι A M) (f : M →ₗ[A] M) : Matrix.det (toMatr
 lean 3 declaration is
   forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {ι : Type.{u2}} [_inst_11 : Fintype.{u2} ι] [_inst_12 : DecidableEq.{succ u2} ι] (f : LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))), Eq.{succ u1} A (Matrix.det.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_12 a b) _inst_11 A _inst_8 (coeFn.{succ (max u2 u1), succ (max u2 u1)} (LinearEquiv.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_1.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.toMatrix'._proof_2.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_3.{u1, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι)) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (_x : LinearEquiv.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_1.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.toMatrix'._proof_2.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_3.{u1, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι)) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) -> (Matrix.{u2, u2, u1} ι ι A)) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_3.{u1, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι)) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_1.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.toMatrix'._proof_2.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.toMatrix'.{u1, u2, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι ι _inst_11 (fun (a : ι) (b : ι) => _inst_12 a b)) f)) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ (max u2 u1)) (succ u1)} (MonoidHom.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u2 u1} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (fun (_x : MonoidHom.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u2 u1} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) => (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) -> A) (MonoidHom.hasCoeToFun.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u2 u1} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.det.{max u2 u1, u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A _inst_8 (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) f)
 but is expected to have type
-  forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {ι : Type.{u2}} [_inst_11 : Fintype.{u2} ι] [_inst_12 : DecidableEq.{succ u2} ι] (f : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))), Eq.{succ u1} A (Matrix.det.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_12 a b) _inst_11 A _inst_8 (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (_x : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => Matrix.{u2, u2, u1} ι ι A) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (SMulZeroClass.toSMul.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddMonoid.toZero.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddMonoid.toAddZeroClass.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Module.toDistribMulAction.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, max u2 u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.toMatrix'.{u1, u2, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι ι _inst_11 (fun (a : ι) (b : ι) => _inst_12 a b)) f)) (FunLike.coe.{max (succ u1) (succ (max u1 u2)), succ (max u1 u2), succ u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u1 u2} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (_x : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) => A) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u1 u2} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulOneClass.toMul.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u1 u2} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))))))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u1 u2} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u1 u2} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u1 u2} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))))) (LinearMap.det.{max u1 u2, u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) A _inst_8 (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) f)
+  forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {ι : Type.{u2}} [_inst_11 : Fintype.{u2} ι] [_inst_12 : DecidableEq.{succ u2} ι] (f : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))), Eq.{succ u1} A (Matrix.det.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_12 a b) _inst_11 A _inst_8 (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (_x : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => Matrix.{u2, u2, u1} ι ι A) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (SMulZeroClass.toSMul.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddMonoid.toZero.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddMonoid.toAddZeroClass.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Module.toDistribMulAction.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, max u2 u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1976 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1979 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.toMatrix'.{u1, u2, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι ι _inst_11 (fun (a : ι) (b : ι) => _inst_12 a b)) f)) (FunLike.coe.{max (succ u1) (succ (max u1 u2)), succ (max u1 u2), succ u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u1 u2} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (_x : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) => A) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u1 u2} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulOneClass.toMul.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u1 u2} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))))))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u1 u2} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u1 u2} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u1 u2} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))))) (LinearMap.det.{max u1 u2, u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) A _inst_8 (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) f)
 Case conversion may be inaccurate. Consider using '#align linear_map.det_to_matrix' LinearMap.det_toMatrix'ₓ'. -/
 @[simp]
 theorem det_toMatrix' {ι : Type _} [Fintype ι] [DecidableEq ι] (f : (ι → A) →ₗ[A] ι → A) :
@@ -336,7 +336,7 @@ theorem det_toLin (b : Basis ι R M) (f : Matrix ι ι R) :
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] (f : Matrix.{u2, u2, u1} ι ι R), Eq.{succ u1} R (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ (max u2 u1)) (succ u1)} (MonoidHom.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u2 u1} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u2 u1} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) -> R) (MonoidHom.hasCoeToFun.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u2 u1} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{max u2 u1, u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) R _inst_1 (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (coeFn.{succ (max u2 u1), succ (max u2 u1)} (LinearEquiv.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.toLin'._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_3.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι))) (fun (_x : LinearEquiv.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.toLin'._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_3.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι))) => (Matrix.{u2, u2, u1} ι ι R) -> (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_3.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.toLin'._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.toLin'.{u1, u2, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b)) f)) (Matrix.det.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 f)
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] (f : Matrix.{u2, u2, u1} ι ι R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => R) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (Matrix.{u2, u2, u1} ι ι R) (fun (a : Matrix.{u2, u2, u1} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u2, u2, u1} ι ι R) => LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) a) (SMulHomClass.toFunLike.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toZero.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toAddZeroClass.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, max u2 u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (Matrix.toLin'.{u1, u2, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b)) f)) (FunLike.coe.{max (succ u1) (succ (max u1 u2)), succ (max u1 u2), succ u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u1 u2} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (_x : LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u1 u2} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulOneClass.toMul.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u1 u2} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))))) (MulOneClass.toMul.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u1 u2} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u1 u2} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u1 u2} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (LinearMap.det.{max u1 u2, u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1))) R _inst_1 (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (Matrix.{u2, u2, u1} ι ι R) (fun (_x : Matrix.{u2, u2, u1} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u2, u2, u1} ι ι R) => LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toZero.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toAddZeroClass.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, max u2 u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (Matrix.toLin'.{u1, u2, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b)) f)) (Matrix.det.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 f)
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] (f : Matrix.{u2, u2, u1} ι ι R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => R) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (Matrix.{u2, u2, u1} ι ι R) (fun (a : Matrix.{u2, u2, u1} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u2, u2, u1} ι ι R) => LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) a) (SMulHomClass.toFunLike.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toZero.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toAddZeroClass.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, max u2 u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (Matrix.toLin'.{u1, u2, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b)) f)) (FunLike.coe.{max (succ u1) (succ (max u1 u2)), succ (max u1 u2), succ u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u1 u2} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (_x : LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u1 u2} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulOneClass.toMul.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u1 u2} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))))) (MulOneClass.toMul.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u1 u2} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u1 u2} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u1 u2} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (LinearMap.det.{max u1 u2, u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1))) R _inst_1 (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (Matrix.{u2, u2, u1} ι ι R) (fun (_x : Matrix.{u2, u2, u1} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u2, u2, u1} ι ι R) => LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toZero.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toAddZeroClass.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, max u2 u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (Matrix.toLin'.{u1, u2, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b)) f)) (Matrix.det.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 f)
 Case conversion may be inaccurate. Consider using '#align linear_map.det_to_lin' LinearMap.det_toLin'ₓ'. -/
 @[simp]
 theorem det_toLin' (f : Matrix ι ι R) : LinearMap.det f.toLin' = f.det := by
Diff
@@ -73,24 +73,48 @@ variable {A : Type _} [CommRing A]
 
 variable {m n : Type _} [Fintype m] [Fintype n]
 
+/- warning: equiv_of_pi_lequiv_pi -> equivOfPiLEquivPi is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u_6}} {n : Type.{u_7}} [_inst_9 : Fintype.{u_6} m] [_inst_10 : Fintype.{u_7} n] {R : Type.{u_1}} [_inst_11 : CommRing.{u_1} R] [_inst_12 : Nontrivial.{u_1} R], (LinearEquiv.{u_1, u_1, max u_6 u_1, max u_7 u_1} R R (Ring.toSemiring.{u_1} R (CommRing.toRing.{u_1} R _inst_11)) (Ring.toSemiring.{u_1} R (CommRing.toRing.{u_1} R _inst_11)) (RingHom.id.{u_1} R (Semiring.toNonAssocSemiring.{u_1} R (Ring.toSemiring.{u_1} R (CommRing.toRing.{u_1} R _inst_11)))) (RingHom.id.{u_1} R (Semiring.toNonAssocSemiring.{u_1} R (Ring.toSemiring.{u_1} R (CommRing.toRing.{u_1} R _inst_11)))) (equivOfPiLEquivPi._proof_1.{u_1} R _inst_11) (equivOfPiLEquivPi._proof_2.{u_1} R _inst_11) (m -> R) (n -> R) (Pi.addCommMonoid.{u_6, u_1} m (fun (ᾰ : m) => R) (fun (i : m) => AddCommGroup.toAddCommMonoid.{u_1} R (NonUnitalNonAssocRing.toAddCommGroup.{u_1} R (NonAssocRing.toNonUnitalNonAssocRing.{u_1} R (Ring.toNonAssocRing.{u_1} R (CommRing.toRing.{u_1} R _inst_11)))))) (Pi.addCommMonoid.{u_7, u_1} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u_1} R (NonUnitalNonAssocRing.toAddCommGroup.{u_1} R (NonAssocRing.toNonUnitalNonAssocRing.{u_1} R (Ring.toNonAssocRing.{u_1} R (CommRing.toRing.{u_1} R _inst_11)))))) (Pi.Function.module.{u_6, u_1, u_1} m R R (Ring.toSemiring.{u_1} R (CommRing.toRing.{u_1} R _inst_11)) (AddCommGroup.toAddCommMonoid.{u_1} R (NonUnitalNonAssocRing.toAddCommGroup.{u_1} R (NonAssocRing.toNonUnitalNonAssocRing.{u_1} R (Ring.toNonAssocRing.{u_1} R (CommRing.toRing.{u_1} R _inst_11))))) (Semiring.toModule.{u_1} R (Ring.toSemiring.{u_1} R (CommRing.toRing.{u_1} R _inst_11)))) (Pi.Function.module.{u_7, u_1, u_1} n R R (Ring.toSemiring.{u_1} R (CommRing.toRing.{u_1} R _inst_11)) (AddCommGroup.toAddCommMonoid.{u_1} R (NonUnitalNonAssocRing.toAddCommGroup.{u_1} R (NonAssocRing.toNonUnitalNonAssocRing.{u_1} R (Ring.toNonAssocRing.{u_1} R (CommRing.toRing.{u_1} R _inst_11))))) (Semiring.toModule.{u_1} R (Ring.toSemiring.{u_1} R (CommRing.toRing.{u_1} R _inst_11))))) -> (Equiv.{succ u_6, succ u_7} m n)
+but is expected to have type
+  forall {m : Type.{u_1}} {n : Type.{u_2}} [_inst_9 : Fintype.{u_1} m] [_inst_10 : Fintype.{u_2} n] {R : Type.{u_3}} [_inst_11 : CommRing.{u_3} R] [_inst_12 : Nontrivial.{u_3} R], (LinearEquiv.{u_3, u_3, max u_1 u_3, max u_2 u_3} R R (Ring.toSemiring.{u_3} R (CommRing.toRing.{u_3} R _inst_11)) (Ring.toSemiring.{u_3} R (CommRing.toRing.{u_3} R _inst_11)) (RingHom.id.{u_3} R (NonAssocRing.toNonAssocSemiring.{u_3} R (Ring.toNonAssocRing.{u_3} R (CommRing.toRing.{u_3} R _inst_11)))) (RingHom.id.{u_3} R (Semiring.toNonAssocSemiring.{u_3} R (Ring.toSemiring.{u_3} R (CommRing.toRing.{u_3} R _inst_11)))) (RingHomInvPair.ids.{u_3} R (Ring.toSemiring.{u_3} R (CommRing.toRing.{u_3} R _inst_11))) (RingHomInvPair.ids.{u_3} R (Ring.toSemiring.{u_3} R (CommRing.toRing.{u_3} R _inst_11))) (m -> R) (n -> R) (Pi.addCommMonoid.{u_1, u_3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u_3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_3} R (NonAssocRing.toNonUnitalNonAssocRing.{u_3} R (Ring.toNonAssocRing.{u_3} R (CommRing.toRing.{u_3} R _inst_11)))))) (Pi.addCommMonoid.{u_2, u_3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u_3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_3} R (NonAssocRing.toNonUnitalNonAssocRing.{u_3} R (Ring.toNonAssocRing.{u_3} R (CommRing.toRing.{u_3} R _inst_11)))))) (Pi.module.{u_1, u_3, u_3} m (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.269 : m) => R) R (Ring.toSemiring.{u_3} R (CommRing.toRing.{u_3} R _inst_11)) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u_3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_3} R (NonAssocRing.toNonUnitalNonAssocRing.{u_3} R (Ring.toNonAssocRing.{u_3} R (CommRing.toRing.{u_3} R _inst_11))))) (fun (i : m) => Semiring.toModule.{u_3} R (Ring.toSemiring.{u_3} R (CommRing.toRing.{u_3} R _inst_11)))) (Pi.module.{u_2, u_3, u_3} n (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.272 : n) => R) R (Ring.toSemiring.{u_3} R (CommRing.toRing.{u_3} R _inst_11)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u_3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_3} R (NonAssocRing.toNonUnitalNonAssocRing.{u_3} R (Ring.toNonAssocRing.{u_3} R (CommRing.toRing.{u_3} R _inst_11))))) (fun (i : n) => Semiring.toModule.{u_3} R (Ring.toSemiring.{u_3} R (CommRing.toRing.{u_3} R _inst_11))))) -> (Equiv.{succ u_1, succ u_2} m n)
+Case conversion may be inaccurate. Consider using '#align equiv_of_pi_lequiv_pi equivOfPiLEquivPiₓ'. -/
 /-- If `R^m` and `R^n` are linearly equivalent, then `m` and `n` are also equivalent. -/
-def equivOfPiLequivPi {R : Type _} [CommRing R] [Nontrivial R] (e : (m → R) ≃ₗ[R] n → R) : m ≃ n :=
+def equivOfPiLEquivPi {R : Type _} [CommRing R] [Nontrivial R] (e : (m → R) ≃ₗ[R] n → R) : m ≃ n :=
   Basis.indexEquiv (Basis.ofEquivFun e.symm) (Pi.basisFun _ _)
-#align equiv_of_pi_lequiv_pi equivOfPiLequivPi
+#align equiv_of_pi_lequiv_pi equivOfPiLEquivPi
 
 namespace Matrix
 
+/- warning: matrix.index_equiv_of_inv -> Matrix.indexEquivOfInv is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u_5}} [_inst_8 : CommRing.{u_5} A] {m : Type.{u_6}} {n : Type.{u_7}} [_inst_9 : Fintype.{u_6} m] [_inst_10 : Fintype.{u_7} n] [_inst_11 : Nontrivial.{u_5} A] [_inst_12 : DecidableEq.{succ u_6} m] [_inst_13 : DecidableEq.{succ u_7} n] {M : Matrix.{u_6, u_7, u_5} m n A} {M' : Matrix.{u_7, u_6, u_5} n m A}, (Eq.{succ (max u_6 u_5)} (Matrix.{u_6, u_6, u_5} m m A) (Matrix.mul.{u_5, u_6, u_7, u_6} m n m A _inst_10 (Distrib.toHasMul.{u_5} A (Ring.toDistrib.{u_5} A (CommRing.toRing.{u_5} A _inst_8))) (AddCommGroup.toAddCommMonoid.{u_5} A (NonUnitalNonAssocRing.toAddCommGroup.{u_5} A (NonAssocRing.toNonUnitalNonAssocRing.{u_5} A (Ring.toNonAssocRing.{u_5} A (CommRing.toRing.{u_5} A _inst_8))))) M M') (OfNat.ofNat.{max u_6 u_5} (Matrix.{u_6, u_6, u_5} m m A) 1 (OfNat.mk.{max u_6 u_5} (Matrix.{u_6, u_6, u_5} m m A) 1 (One.one.{max u_6 u_5} (Matrix.{u_6, u_6, u_5} m m A) (Matrix.hasOne.{u_5, u_6} m A (fun (a : m) (b : m) => _inst_12 a b) (MulZeroClass.toHasZero.{u_5} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u_5} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_5} A (NonAssocRing.toNonUnitalNonAssocRing.{u_5} A (Ring.toNonAssocRing.{u_5} A (CommRing.toRing.{u_5} A _inst_8)))))) (AddMonoidWithOne.toOne.{u_5} A (AddGroupWithOne.toAddMonoidWithOne.{u_5} A (AddCommGroupWithOne.toAddGroupWithOne.{u_5} A (Ring.toAddCommGroupWithOne.{u_5} A (CommRing.toRing.{u_5} A _inst_8)))))))))) -> (Eq.{succ (max u_7 u_5)} (Matrix.{u_7, u_7, u_5} n n A) (Matrix.mul.{u_5, u_7, u_6, u_7} n m n A _inst_9 (Distrib.toHasMul.{u_5} A (Ring.toDistrib.{u_5} A (CommRing.toRing.{u_5} A _inst_8))) (AddCommGroup.toAddCommMonoid.{u_5} A (NonUnitalNonAssocRing.toAddCommGroup.{u_5} A (NonAssocRing.toNonUnitalNonAssocRing.{u_5} A (Ring.toNonAssocRing.{u_5} A (CommRing.toRing.{u_5} A _inst_8))))) M' M) (OfNat.ofNat.{max u_7 u_5} (Matrix.{u_7, u_7, u_5} n n A) 1 (OfNat.mk.{max u_7 u_5} (Matrix.{u_7, u_7, u_5} n n A) 1 (One.one.{max u_7 u_5} (Matrix.{u_7, u_7, u_5} n n A) (Matrix.hasOne.{u_5, u_7} n A (fun (a : n) (b : n) => _inst_13 a b) (MulZeroClass.toHasZero.{u_5} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u_5} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_5} A (NonAssocRing.toNonUnitalNonAssocRing.{u_5} A (Ring.toNonAssocRing.{u_5} A (CommRing.toRing.{u_5} A _inst_8)))))) (AddMonoidWithOne.toOne.{u_5} A (AddGroupWithOne.toAddMonoidWithOne.{u_5} A (AddCommGroupWithOne.toAddGroupWithOne.{u_5} A (Ring.toAddCommGroupWithOne.{u_5} A (CommRing.toRing.{u_5} A _inst_8)))))))))) -> (Equiv.{succ u_6, succ u_7} m n)
+but is expected to have type
+  forall {A : Type.{u_1}} [_inst_8 : CommRing.{u_1} A] {m : Type.{u_2}} {n : Type.{u_3}} [_inst_9 : Fintype.{u_2} m] [_inst_10 : Fintype.{u_3} n] [_inst_11 : Nontrivial.{u_1} A] [_inst_12 : DecidableEq.{succ u_2} m] [_inst_13 : DecidableEq.{succ u_3} n] {M : Matrix.{u_2, u_3, u_1} m n A} {M' : Matrix.{u_3, u_2, u_1} n m A}, (Eq.{max (succ u_1) (succ u_2)} (Matrix.{u_2, u_2, u_1} m m A) (Matrix.mul.{u_1, u_2, u_3, u_2} m n m A _inst_10 (NonUnitalNonAssocRing.toMul.{u_1} A (NonAssocRing.toNonUnitalNonAssocRing.{u_1} A (Ring.toNonAssocRing.{u_1} A (CommRing.toRing.{u_1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u_1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_1} A (NonAssocRing.toNonUnitalNonAssocRing.{u_1} A (Ring.toNonAssocRing.{u_1} A (CommRing.toRing.{u_1} A _inst_8))))) M M') (OfNat.ofNat.{max u_1 u_2} (Matrix.{u_2, u_2, u_1} m m A) 1 (One.toOfNat1.{max u_1 u_2} (Matrix.{u_2, u_2, u_1} m m A) (Matrix.one.{u_1, u_2} m A (fun (a : m) (b : m) => _inst_12 a b) (CommMonoidWithZero.toZero.{u_1} A (CommSemiring.toCommMonoidWithZero.{u_1} A (CommRing.toCommSemiring.{u_1} A _inst_8))) (NonAssocRing.toOne.{u_1} A (Ring.toNonAssocRing.{u_1} A (CommRing.toRing.{u_1} A _inst_8))))))) -> (Eq.{max (succ u_1) (succ u_3)} (Matrix.{u_3, u_3, u_1} n n A) (Matrix.mul.{u_1, u_3, u_2, u_3} n m n A _inst_9 (NonUnitalNonAssocRing.toMul.{u_1} A (NonAssocRing.toNonUnitalNonAssocRing.{u_1} A (Ring.toNonAssocRing.{u_1} A (CommRing.toRing.{u_1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u_1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u_1} A (NonAssocRing.toNonUnitalNonAssocRing.{u_1} A (Ring.toNonAssocRing.{u_1} A (CommRing.toRing.{u_1} A _inst_8))))) M' M) (OfNat.ofNat.{max u_1 u_3} (Matrix.{u_3, u_3, u_1} n n A) 1 (One.toOfNat1.{max u_1 u_3} (Matrix.{u_3, u_3, u_1} n n A) (Matrix.one.{u_1, u_3} n A (fun (a : n) (b : n) => _inst_13 a b) (CommMonoidWithZero.toZero.{u_1} A (CommSemiring.toCommMonoidWithZero.{u_1} A (CommRing.toCommSemiring.{u_1} A _inst_8))) (NonAssocRing.toOne.{u_1} A (Ring.toNonAssocRing.{u_1} A (CommRing.toRing.{u_1} A _inst_8))))))) -> (Equiv.{succ u_2, succ u_3} m n)
+Case conversion may be inaccurate. Consider using '#align matrix.index_equiv_of_inv Matrix.indexEquivOfInvₓ'. -/
 /-- If `M` and `M'` are each other's inverse matrices, they are square matrices up to
 equivalence of types. -/
 def indexEquivOfInv [Nontrivial A] [DecidableEq m] [DecidableEq n] {M : Matrix m n A}
     {M' : Matrix n m A} (hMM' : M ⬝ M' = 1) (hM'M : M' ⬝ M = 1) : m ≃ n :=
-  equivOfPiLequivPi (toLin'OfInv hMM' hM'M)
+  equivOfPiLEquivPi (toLin'OfInv hMM' hM'M)
 #align matrix.index_equiv_of_inv Matrix.indexEquivOfInv
 
+/- warning: matrix.det_comm -> Matrix.det_comm is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {n : Type.{u2}} [_inst_10 : Fintype.{u2} n] [_inst_11 : DecidableEq.{succ u2} n] (M : Matrix.{u2, u2, u1} n n A) (N : Matrix.{u2, u2, u1} n n A), Eq.{succ u1} A (Matrix.det.{u1, u2} n (fun (a : n) (b : n) => _inst_11 a b) _inst_10 A _inst_8 (Matrix.mul.{u1, u2, u2, u2} n n n A _inst_10 (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A (CommRing.toRing.{u1} A _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M N)) (Matrix.det.{u1, u2} n (fun (a : n) (b : n) => _inst_11 a b) _inst_10 A _inst_8 (Matrix.mul.{u1, u2, u2, u2} n n n A _inst_10 (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A (CommRing.toRing.{u1} A _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) N M))
+but is expected to have type
+  forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {n : Type.{u2}} [_inst_10 : Fintype.{u2} n] [_inst_11 : DecidableEq.{succ u2} n] (M : Matrix.{u2, u2, u1} n n A) (N : Matrix.{u2, u2, u1} n n A), Eq.{succ u1} A (Matrix.det.{u1, u2} n (fun (a : n) (b : n) => _inst_11 a b) _inst_10 A _inst_8 (Matrix.mul.{u1, u2, u2, u2} n n n A _inst_10 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M N)) (Matrix.det.{u1, u2} n (fun (a : n) (b : n) => _inst_11 a b) _inst_10 A _inst_8 (Matrix.mul.{u1, u2, u2, u2} n n n A _inst_10 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) N M))
+Case conversion may be inaccurate. Consider using '#align matrix.det_comm Matrix.det_commₓ'. -/
 theorem det_comm [DecidableEq n] (M N : Matrix n n A) : det (M ⬝ N) = det (N ⬝ M) := by
   rw [det_mul, det_mul, mul_comm]
 #align matrix.det_comm Matrix.det_comm
 
+/- warning: matrix.det_comm' -> Matrix.det_comm' is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {m : Type.{u2}} {n : Type.{u3}} [_inst_9 : Fintype.{u2} m] [_inst_10 : Fintype.{u3} n] [_inst_11 : DecidableEq.{succ u2} m] [_inst_12 : DecidableEq.{succ u3} n] {M : Matrix.{u3, u2, u1} n m A} {N : Matrix.{u2, u3, u1} m n A} {M' : Matrix.{u2, u3, u1} m n A}, (Eq.{succ (max u3 u1)} (Matrix.{u3, u3, u1} n n A) (Matrix.mul.{u1, u3, u2, u3} n m n A _inst_9 (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A (CommRing.toRing.{u1} A _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M M') (OfNat.ofNat.{max u3 u1} (Matrix.{u3, u3, u1} n n A) 1 (OfNat.mk.{max u3 u1} (Matrix.{u3, u3, u1} n n A) 1 (One.one.{max u3 u1} (Matrix.{u3, u3, u1} n n A) (Matrix.hasOne.{u1, u3} n A (fun (a : n) (b : n) => _inst_12 a b) (MulZeroClass.toHasZero.{u1} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddMonoidWithOne.toOne.{u1} A (AddGroupWithOne.toAddMonoidWithOne.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A (CommRing.toRing.{u1} A _inst_8)))))))))) -> (Eq.{succ (max u2 u1)} (Matrix.{u2, u2, u1} m m A) (Matrix.mul.{u1, u2, u3, u2} m n m A _inst_10 (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A (CommRing.toRing.{u1} A _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M' M) (OfNat.ofNat.{max u2 u1} (Matrix.{u2, u2, u1} m m A) 1 (OfNat.mk.{max u2 u1} (Matrix.{u2, u2, u1} m m A) 1 (One.one.{max u2 u1} (Matrix.{u2, u2, u1} m m A) (Matrix.hasOne.{u1, u2} m A (fun (a : m) (b : m) => _inst_11 a b) (MulZeroClass.toHasZero.{u1} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddMonoidWithOne.toOne.{u1} A (AddGroupWithOne.toAddMonoidWithOne.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A (CommRing.toRing.{u1} A _inst_8)))))))))) -> (Eq.{succ u1} A (Matrix.det.{u1, u3} n (fun (a : n) (b : n) => _inst_12 a b) _inst_10 A _inst_8 (Matrix.mul.{u1, u3, u2, u3} n m n A _inst_9 (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A (CommRing.toRing.{u1} A _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M N)) (Matrix.det.{u1, u2} m (fun (a : m) (b : m) => _inst_11 a b) _inst_9 A _inst_8 (Matrix.mul.{u1, u2, u3, u2} m n m A _inst_10 (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A (CommRing.toRing.{u1} A _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) N M)))
+but is expected to have type
+  forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {m : Type.{u3}} {n : Type.{u2}} [_inst_9 : Fintype.{u3} m] [_inst_10 : Fintype.{u2} n] [_inst_11 : DecidableEq.{succ u3} m] [_inst_12 : DecidableEq.{succ u2} n] {M : Matrix.{u2, u3, u1} n m A} {N : Matrix.{u3, u2, u1} m n A} {M' : Matrix.{u3, u2, u1} m n A}, (Eq.{max (succ u1) (succ u2)} (Matrix.{u2, u2, u1} n n A) (Matrix.mul.{u1, u2, u3, u2} n m n A _inst_9 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M M') (OfNat.ofNat.{max u1 u2} (Matrix.{u2, u2, u1} n n A) 1 (One.toOfNat1.{max u1 u2} (Matrix.{u2, u2, u1} n n A) (Matrix.one.{u1, u2} n A (fun (a : n) (b : n) => _inst_12 a b) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (NonAssocRing.toOne.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))))) -> (Eq.{max (succ u1) (succ u3)} (Matrix.{u3, u3, u1} m m A) (Matrix.mul.{u1, u3, u2, u3} m n m A _inst_10 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M' M) (OfNat.ofNat.{max u1 u3} (Matrix.{u3, u3, u1} m m A) 1 (One.toOfNat1.{max u1 u3} (Matrix.{u3, u3, u1} m m A) (Matrix.one.{u1, u3} m A (fun (a : m) (b : m) => _inst_11 a b) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (NonAssocRing.toOne.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))))) -> (Eq.{succ u1} A (Matrix.det.{u1, u2} n (fun (a : n) (b : n) => _inst_12 a b) _inst_10 A _inst_8 (Matrix.mul.{u1, u2, u3, u2} n m n A _inst_9 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M N)) (Matrix.det.{u1, u3} m (fun (a : m) (b : m) => _inst_11 a b) _inst_9 A _inst_8 (Matrix.mul.{u1, u3, u2, u3} m n m A _inst_10 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) N M)))
+Case conversion may be inaccurate. Consider using '#align matrix.det_comm' Matrix.det_comm'ₓ'. -/
 /-- If there exists a two-sided inverse `M'` for `M` (indexed differently),
 then `det (N ⬝ M) = det (M ⬝ N)`. -/
 theorem det_comm' [DecidableEq m] [DecidableEq n] {M : Matrix n m A} {N : Matrix m n A}
@@ -104,6 +128,12 @@ theorem det_comm' [DecidableEq m] [DecidableEq n] {M : Matrix n m A} {N : Matrix
     submatrix_mul_equiv, Equiv.coe_refl, submatrix_id_id]
 #align matrix.det_comm' Matrix.det_comm'
 
+/- warning: matrix.det_conj_of_mul_eq_one -> Matrix.det_conj_of_mul_eq_one is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {m : Type.{u2}} {n : Type.{u3}} [_inst_9 : Fintype.{u2} m] [_inst_10 : Fintype.{u3} n] [_inst_11 : DecidableEq.{succ u2} m] [_inst_12 : DecidableEq.{succ u3} n] {M : Matrix.{u2, u3, u1} m n A} {M' : Matrix.{u3, u2, u1} n m A} {N : Matrix.{u3, u3, u1} n n A}, (Eq.{succ (max u2 u1)} (Matrix.{u2, u2, u1} m m A) (Matrix.mul.{u1, u2, u3, u2} m n m A _inst_10 (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A (CommRing.toRing.{u1} A _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M M') (OfNat.ofNat.{max u2 u1} (Matrix.{u2, u2, u1} m m A) 1 (OfNat.mk.{max u2 u1} (Matrix.{u2, u2, u1} m m A) 1 (One.one.{max u2 u1} (Matrix.{u2, u2, u1} m m A) (Matrix.hasOne.{u1, u2} m A (fun (a : m) (b : m) => _inst_11 a b) (MulZeroClass.toHasZero.{u1} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddMonoidWithOne.toOne.{u1} A (AddGroupWithOne.toAddMonoidWithOne.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A (CommRing.toRing.{u1} A _inst_8)))))))))) -> (Eq.{succ (max u3 u1)} (Matrix.{u3, u3, u1} n n A) (Matrix.mul.{u1, u3, u2, u3} n m n A _inst_9 (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A (CommRing.toRing.{u1} A _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M' M) (OfNat.ofNat.{max u3 u1} (Matrix.{u3, u3, u1} n n A) 1 (OfNat.mk.{max u3 u1} (Matrix.{u3, u3, u1} n n A) 1 (One.one.{max u3 u1} (Matrix.{u3, u3, u1} n n A) (Matrix.hasOne.{u1, u3} n A (fun (a : n) (b : n) => _inst_12 a b) (MulZeroClass.toHasZero.{u1} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddMonoidWithOne.toOne.{u1} A (AddGroupWithOne.toAddMonoidWithOne.{u1} A (AddCommGroupWithOne.toAddGroupWithOne.{u1} A (Ring.toAddCommGroupWithOne.{u1} A (CommRing.toRing.{u1} A _inst_8)))))))))) -> (Eq.{succ u1} A (Matrix.det.{u1, u2} m (fun (a : m) (b : m) => _inst_11 a b) _inst_9 A _inst_8 (Matrix.mul.{u1, u2, u3, u2} m n m A _inst_10 (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A (CommRing.toRing.{u1} A _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Matrix.mul.{u1, u2, u3, u3} m n n A _inst_10 (Distrib.toHasMul.{u1} A (Ring.toDistrib.{u1} A (CommRing.toRing.{u1} A _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M N) M')) (Matrix.det.{u1, u3} n (fun (a : n) (b : n) => _inst_12 a b) _inst_10 A _inst_8 N))
+but is expected to have type
+  forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {m : Type.{u3}} {n : Type.{u2}} [_inst_9 : Fintype.{u3} m] [_inst_10 : Fintype.{u2} n] [_inst_11 : DecidableEq.{succ u3} m] [_inst_12 : DecidableEq.{succ u2} n] {M : Matrix.{u3, u2, u1} m n A} {M' : Matrix.{u2, u3, u1} n m A} {N : Matrix.{u2, u2, u1} n n A}, (Eq.{max (succ u1) (succ u3)} (Matrix.{u3, u3, u1} m m A) (Matrix.mul.{u1, u3, u2, u3} m n m A _inst_10 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M M') (OfNat.ofNat.{max u1 u3} (Matrix.{u3, u3, u1} m m A) 1 (One.toOfNat1.{max u1 u3} (Matrix.{u3, u3, u1} m m A) (Matrix.one.{u1, u3} m A (fun (a : m) (b : m) => _inst_11 a b) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (NonAssocRing.toOne.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))))) -> (Eq.{max (succ u1) (succ u2)} (Matrix.{u2, u2, u1} n n A) (Matrix.mul.{u1, u2, u3, u2} n m n A _inst_9 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M' M) (OfNat.ofNat.{max u1 u2} (Matrix.{u2, u2, u1} n n A) 1 (One.toOfNat1.{max u1 u2} (Matrix.{u2, u2, u1} n n A) (Matrix.one.{u1, u2} n A (fun (a : n) (b : n) => _inst_12 a b) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (NonAssocRing.toOne.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))))) -> (Eq.{succ u1} A (Matrix.det.{u1, u3} m (fun (a : m) (b : m) => _inst_11 a b) _inst_9 A _inst_8 (Matrix.mul.{u1, u3, u2, u3} m n m A _inst_10 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Matrix.mul.{u1, u3, u2, u2} m n n A _inst_10 (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) M N) M')) (Matrix.det.{u1, u2} n (fun (a : n) (b : n) => _inst_12 a b) _inst_10 A _inst_8 N))
+Case conversion may be inaccurate. Consider using '#align matrix.det_conj_of_mul_eq_one Matrix.det_conj_of_mul_eq_oneₓ'. -/
 /-- If `M'` is a two-sided inverse for `M` (indexed differently), `det (M ⬝ N ⬝ M') = det N`.
 
 See `matrix.det_conj` and `matrix.det_conj'` for the case when `M' = M⁻¹` or vice versa. -/
@@ -126,6 +156,12 @@ variable {A : Type _} [CommRing A] [Module A M]
 
 variable {κ : Type _} [Fintype κ]
 
+/- warning: linear_map.det_to_matrix_eq_det_to_matrix -> LinearMap.det_toMatrix_eq_det_toMatrix is a dubious translation:
+lean 3 declaration is
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Module.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {κ : Type.{u4}} [_inst_10 : Fintype.{u4} κ] [_inst_11 : DecidableEq.{succ u4} κ] (b : Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (c : Basis.{u4, u3, u1} κ A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u3} A (Matrix.det.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (coeFn.{max (succ u1) (succ (max u2 u3)), max (succ u1) (succ (max u2 u3))} (LinearEquiv.{u3, u3, u1, max u2 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (fun (_x : LinearEquiv.{u3, u3, u1, max u2 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) => (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> (Matrix.{u2, u2, u3} ι ι A)) (LinearEquiv.hasCoeToFun.{u3, u3, u1, max u2 u3} A A (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))) (LinearMap.toMatrix.{u3, u2, u2, u1, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f)) (Matrix.det.{u3, u4} κ (fun (a : κ) (b : κ) => _inst_11 a b) _inst_10 A _inst_8 (coeFn.{max (succ u1) (succ (max u4 u3)), max (succ u1) (succ (max u4 u3))} (LinearEquiv.{u3, u3, u1, max u4 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u3} κ κ A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u4, u4, u3} κ κ A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (fun (_x : LinearEquiv.{u3, u3, u1, max u4 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u3} κ κ A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u4, u4, u3} κ κ A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) => (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> (Matrix.{u4, u4, u3} κ κ A)) (LinearEquiv.hasCoeToFun.{u3, u3, u1, max u4 u3} A A (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u3} κ κ A) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u4, u4, u3} κ κ A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))) (LinearMap.toMatrix.{u3, u4, u4, u1, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) κ κ _inst_10 _inst_10 (fun (a : κ) (b : κ) => _inst_11 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 c c) f))
+but is expected to have type
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {κ : Type.{u4}} [_inst_10 : Fintype.{u4} κ] [_inst_11 : DecidableEq.{succ u4} κ] (b : Basis.{u3, u2, u1} ι A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (c : Basis.{u4, u2, u1} κ A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} A (Matrix.det.{u2, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => Matrix.{u3, u3, u2} ι ι A) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (SMulZeroClass.toSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toZero.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toAddZeroClass.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u1 u3) u2} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u1 u3) u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u3, u3, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f)) (Matrix.det.{u2, u4} κ (fun (a : κ) (b : κ) => _inst_11 a b) _inst_10 A _inst_8 (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), succ u1, max (succ u2) (succ u4)} (LinearEquiv.{u2, u2, u1, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => Matrix.{u4, u4, u2} κ κ A) _x) (SMulHomClass.toFunLike.{max (max u1 u2) u4, u2, u1, max u2 u4} (LinearEquiv.{u2, u2, u1, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (SMulZeroClass.toSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u2 u4} A (Matrix.{u4, u4, u2} κ κ A) (AddMonoid.toZero.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u4} A (Matrix.{u4, u4, u2} κ κ A) (AddMonoid.toAddZeroClass.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u4} A (Matrix.{u4, u4, u2} κ κ A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u2 u4} A (Matrix.{u4, u4, u2} κ κ A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u2) u4, u2, u1, max u2 u4} (LinearEquiv.{u2, u2, u1, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} κ κ A) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u2 u4} A (Matrix.{u4, u4, u2} κ κ A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u2 u4, max (max u1 u2) u4} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearEquiv.{u2, u2, u1, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u2 u4, max (max u1 u2) u4} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearEquiv.{u2, u2, u1, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u2 u4} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} κ κ A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} κ κ A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} κ κ A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u4, u4, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) κ κ _inst_10 _inst_10 (fun (a : κ) (b : κ) => _inst_11 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 c c) f))
+Case conversion may be inaccurate. Consider using '#align linear_map.det_to_matrix_eq_det_to_matrix LinearMap.det_toMatrix_eq_det_toMatrixₓ'. -/
 /-- The determinant of `linear_map.to_matrix` does not depend on the choice of basis. -/
 theorem det_toMatrix_eq_det_toMatrix [DecidableEq κ] (b : Basis ι A M) (c : Basis κ A M)
     (f : M →ₗ[A] M) : det (LinearMap.toMatrix b b f) = det (LinearMap.toMatrix c c f) := by
@@ -134,6 +170,7 @@ theorem det_toMatrix_eq_det_toMatrix [DecidableEq κ] (b : Basis ι A M) (c : Ba
     rw [Basis.toMatrix_mul_toMatrix, Basis.toMatrix_self]
 #align linear_map.det_to_matrix_eq_det_to_matrix LinearMap.det_toMatrix_eq_det_toMatrix
 
+#print LinearMap.detAux /-
 /-- The determinant of an endomorphism given a basis.
 
 See `linear_map.det` for a version that populates the basis non-computably.
@@ -148,32 +185,57 @@ irreducible_def detAux : Trunc (Basis ι A M) → (M →ₗ[A] M) →* A :=
     (fun b : Basis ι A M => detMonoidHom.comp (toMatrixAlgEquiv b : (M →ₗ[A] M) →* Matrix ι ι A))
     fun b c => MonoidHom.ext <| det_toMatrix_eq_det_toMatrix b c
 #align linear_map.det_aux LinearMap.detAux
+-/
 
+/- warning: linear_map.det_aux_def -> LinearMap.detAux_def' is a dubious translation:
+lean 3 declaration is
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Module.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (b : Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u3} A (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.detAux.{u1, u2, u3} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 (Trunc.mk.{max (succ u2) (succ u3) (succ u1)} (Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) b)) f) (Matrix.det.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (coeFn.{max (succ u1) (succ (max u2 u3)), max (succ u1) (succ (max u2 u3))} (LinearEquiv.{u3, u3, u1, max u2 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (fun (_x : LinearEquiv.{u3, u3, u1, max u2 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) => (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> (Matrix.{u2, u2, u3} ι ι A)) (LinearEquiv.hasCoeToFun.{u3, u3, u1, max u2 u3} A A (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))) (LinearMap.toMatrix.{u3, u2, u2, u1, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f))
+but is expected to have type
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (b : Basis.{u3, u2, u1} ι A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.detAux.{u1, u3, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 (Trunc.mk.{max (max (succ u2) (succ u3)) (succ u1)} (Basis.{u3, u2, u1} ι A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) b)) f) (Matrix.det.{u2, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => Matrix.{u3, u3, u2} ι ι A) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (SMulZeroClass.toSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toZero.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toAddZeroClass.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u1 u3) u2} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u1 u3) u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u3, u3, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f))
+Case conversion may be inaccurate. Consider using '#align linear_map.det_aux_def LinearMap.detAux_def'ₓ'. -/
 /-- Unfold lemma for `det_aux`.
 
 See also `det_aux_def'` which allows you to vary the basis.
 -/
-theorem detAux_def (b : Basis ι A M) (f : M →ₗ[A] M) :
+theorem detAux_def' (b : Basis ι A M) (f : M →ₗ[A] M) :
     LinearMap.detAux (Trunc.mk b) f = Matrix.det (LinearMap.toMatrix b b f) :=
   by
   rw [det_aux]
   rfl
-#align linear_map.det_aux_def LinearMap.detAux_def
-
-theorem detAux_def' {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (tb : Trunc <| Basis ι A M)
+#align linear_map.det_aux_def LinearMap.detAux_def'
+
+/- warning: linear_map.det_aux_def' -> LinearMap.detAux_def'' is a dubious translation:
+lean 3 declaration is
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Module.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι' : Type.{u4}} [_inst_11 : Fintype.{u4} ι'] [_inst_12 : DecidableEq.{succ u4} ι'] (tb : Trunc.{max (succ u2) (succ u3) (succ u1)} (Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (b' : Basis.{u4, u3, u1} ι' A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u3} A (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.detAux.{u1, u2, u3} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 tb) f) (Matrix.det.{u3, u4} ι' (fun (a : ι') (b : ι') => _inst_12 a b) _inst_11 A _inst_8 (coeFn.{max (succ u1) (succ (max u4 u3)), max (succ u1) (succ (max u4 u3))} (LinearEquiv.{u3, u3, u1, max u4 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u3} ι' ι' A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u4, u4, u3} ι' ι' A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (fun (_x : LinearEquiv.{u3, u3, u1, max u4 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u3} ι' ι' A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u4, u4, u3} ι' ι' A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) => (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> (Matrix.{u4, u4, u3} ι' ι' A)) (LinearEquiv.hasCoeToFun.{u3, u3, u1, max u4 u3} A A (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u3} ι' ι' A) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u4, u4, u3} ι' ι' A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))) (LinearMap.toMatrix.{u3, u4, u4, u1, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) ι' ι' _inst_11 _inst_11 (fun (a : ι') (b : ι') => _inst_12 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b' b') f))
+but is expected to have type
+  forall {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] {ι' : Type.{u4}} [_inst_11 : Fintype.{u4} ι'] [_inst_12 : DecidableEq.{succ u4} ι'] (tb : Trunc.{max (max (succ u3) (succ u2)) (succ u1)} (Basis.{u1, u2, u3} ι A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (b' : Basis.{u4, u2, u3} ι' A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.detAux.{u3, u1, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 tb) f) (Matrix.det.{u2, u4} ι' (fun (a : ι') (b : ι') => _inst_12 a b) _inst_11 A _inst_8 (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u4), succ u3, max (succ u2) (succ u4)} (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => Matrix.{u4, u4, u2} ι' ι' A) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u4, u2, u3, max u2 u4} (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (SMulZeroClass.toSMul.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (AddMonoid.toZero.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (AddMonoid.toAddZeroClass.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u4, u2, u3, max u2 u4} (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u4} (Matrix.{u4, u4, u2} ι' ι' A) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u3} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u2 u4} A (Matrix.{u4, u4, u2} ι' ι' A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u3, max u2 u4, max (max u3 u2) u4} A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u3, max u2 u4, max (max u3 u2) u4} A A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearEquiv.{u2, u2, u3, max u2 u4} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u3, max u2 u4} A A (LinearMap.{u2, u2, u3, u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Matrix.{u4, u4, u2} ι' ι' A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u4, u4} ι' ι' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u3} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u3} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u3} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u2, u3} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)))) (Matrix.module.{u2, u4, u4, u2} ι' ι' A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u4, u4, u3, u3} A (CommRing.toCommSemiring.{u2} A _inst_8) ι' ι' _inst_11 _inst_11 (fun (a : ι') (b : ι') => _inst_12 a b) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 b' b') f))
+Case conversion may be inaccurate. Consider using '#align linear_map.det_aux_def' LinearMap.detAux_def''ₓ'. -/
+theorem detAux_def'' {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (tb : Trunc <| Basis ι A M)
     (b' : Basis ι' A M) (f : M →ₗ[A] M) :
     LinearMap.detAux tb f = Matrix.det (LinearMap.toMatrix b' b' f) :=
   by
   apply Trunc.induction_on tb
   intro b
   rw [det_aux_def, det_to_matrix_eq_det_to_matrix b b']
-#align linear_map.det_aux_def' LinearMap.detAux_def'
-
+#align linear_map.det_aux_def' LinearMap.detAux_def''
+
+/- warning: linear_map.det_aux_id -> LinearMap.detAux_id is a dubious translation:
+lean 3 declaration is
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Module.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (b : Trunc.{max (succ u2) (succ u3) (succ u1)} (Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)), Eq.{succ u3} A (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.detAux.{u1, u2, u3} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) (LinearMap.id.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (OfNat.ofNat.{u3} A 1 (OfNat.mk.{u3} A 1 (One.one.{u3} A (AddMonoidWithOne.toOne.{u3} A (AddGroupWithOne.toAddMonoidWithOne.{u3} A (AddCommGroupWithOne.toAddGroupWithOne.{u3} A (Ring.toAddCommGroupWithOne.{u3} A (CommRing.toRing.{u3} A _inst_8))))))))
+but is expected to have type
+  forall {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (b : Trunc.{max (max (succ u3) (succ u2)) (succ u1)} (Basis.{u1, u2, u3} ι A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.detAux.{u3, u1, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) (LinearMap.id.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (NonAssocRing.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) _inst_8)))))
+Case conversion may be inaccurate. Consider using '#align linear_map.det_aux_id LinearMap.detAux_idₓ'. -/
 @[simp]
 theorem detAux_id (b : Trunc <| Basis ι A M) : LinearMap.detAux b LinearMap.id = 1 :=
   (LinearMap.detAux b).map_one
 #align linear_map.det_aux_id LinearMap.detAux_id
 
+/- warning: linear_map.det_aux_comp -> LinearMap.detAux_comp is a dubious translation:
+lean 3 declaration is
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Module.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (b : Trunc.{max (succ u2) (succ u3) (succ u1)} (Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (f : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (g : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u3} A (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.detAux.{u1, u2, u3} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) (LinearMap.comp.{u3, u3, u3, u1, u1, u1} A A A M M M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) (RingHomCompTriple.right_ids.{u3, u3} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))))) f g)) (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (Ring.toDistrib.{u3} A (CommRing.toRing.{u3} A _inst_8)))) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.detAux.{u1, u2, u3} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) f) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.detAux.{u1, u2, u3} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) g))
+but is expected to have type
+  forall {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (b : Trunc.{max (max (succ u3) (succ u2)) (succ u1)} (Basis.{u1, u2, u3} ι A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9)) (f : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (g : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.comp.{u2, u2, u2, u3, u3, u3} A A A M M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) f g)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.detAux.{u3, u1, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) (LinearMap.comp.{u2, u2, u2, u3, u3, u3} A A A M M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) f g)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) f) _inst_8))))) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.detAux.{u3, u1, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) f) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u3 u2, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u3} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.detAux.{u3, u1, u2} M _inst_2 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 _inst_9 b) g))
+Case conversion may be inaccurate. Consider using '#align linear_map.det_aux_comp LinearMap.detAux_compₓ'. -/
 @[simp]
 theorem detAux_comp (b : Trunc <| Basis ι A M) (f g : M →ₗ[A] M) :
     LinearMap.detAux b (f.comp g) = LinearMap.detAux b f * LinearMap.detAux b g :=
@@ -184,6 +246,7 @@ section
 
 open Classical
 
+#print LinearMap.det /-
 -- Discourage the elaborator from unfolding `det` and producing a huge term by marking it
 -- as irreducible.
 /-- The determinant of an endomorphism independent of basis.
@@ -194,7 +257,14 @@ protected irreducible_def det : (M →ₗ[A] M) →* A :=
   if H : ∃ s : Finset M, Nonempty (Basis s A M) then LinearMap.detAux (Trunc.mk H.choose_spec.some)
   else 1
 #align linear_map.det LinearMap.det
+-/
 
+/- warning: linear_map.coe_det -> LinearMap.coe_det is a dubious translation:
+lean 3 declaration is
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] [_inst_11 : DecidableEq.{succ u1} M], Eq.{max (succ u1) (succ u2)} ((LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9)) (dite.{max (succ u1) (succ u2)} ((LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (Exists.{succ u1} (Finset.{u1} M) (fun (s : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))) (Classical.propDecidable (Exists.{succ u1} (Finset.{u1} M) (fun (s : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (fun (H : Exists.{succ u1} (Finset.{u1} M) (fun (s : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))) => coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.detAux.{u1, u1, u2} M _inst_2 (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) (Exists.choose.{succ u1} (Finset.{u1} M) (fun (a : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) a) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) H)) (fun (a : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) (Exists.choose.{succ u1} (Finset.{u1} M) (fun (a : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) a) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) H)) (b : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) (Exists.choose.{succ u1} (Finset.{u1} M) (fun (a : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) a) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) H)) => Subtype.decidableEq.{u1} M (fun (x : M) => Membership.Mem.{u1, u1} M (Finset.{u1} M) (Finset.hasMem.{u1} M) x (Exists.choose.{succ u1} (Finset.{u1} M) (fun (a : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) a) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) H)) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u1} M (Exists.choose.{succ u1} (Finset.{u1} M) (fun (a : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) a) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) H)) A _inst_8 _inst_9 (Trunc.mk.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) (Exists.choose.{succ u1} (Finset.{u1} M) (fun (a : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) a) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) H)) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (Nonempty.some.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) (Exists.choose.{succ u1} (Finset.{u1} M) (fun (a : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) a) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) H)) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (Exists.choose_spec.{succ u1} (Finset.{u1} M) (fun (s : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) H))))) (fun (H : Not (Exists.{succ u1} (Finset.{u1} M) (fun (s : Finset.{u1} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) => OfNat.ofNat.{max u1 u2} ((LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) 1 (OfNat.mk.{max u1 u2} ((LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) 1 (One.one.{max u1 u2} ((LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (Pi.instOne.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (ᾰ : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (fun (i : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => AddMonoidWithOne.toOne.{u2} A (AddGroupWithOne.toAddMonoidWithOne.{u2} A (AddCommGroupWithOne.toAddGroupWithOne.{u2} A (Ring.toAddCommGroupWithOne.{u2} A (CommRing.toRing.{u2} A _inst_8))))))))))
+but is expected to have type
+  forall {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] [_inst_9 : Module.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_11 : DecidableEq.{succ u2} M], Eq.{max (succ u2) (succ u1)} (forall (ᾰ : LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))))) (LinearMap.det.{u2, u1} M _inst_2 A _inst_8 _inst_9)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (a : LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) a) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))))) (dite.{max (succ u1) (succ u2)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Exists.{succ u2} (Finset.{u2} M) (fun (s : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))) (Classical.propDecidable (Exists.{succ u2} (Finset.{u2} M) (fun (s : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (fun (H : Exists.{succ u2} (Finset.{u2} M) (fun (s : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))) => LinearMap.detAux.{u2, u2, u1} M _inst_2 (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H))) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H))) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H))) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H)) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u2} M (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H)) A _inst_8 _inst_9 (Trunc.mk.{max (succ u1) (succ u2)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H))) A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9) (Nonempty.some.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x (Exists.choose.{succ u2} (Finset.{u2} M) (fun (a : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x a)) A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H))) A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9) (Exists.choose_spec.{succ u2} (Finset.{u2} M) (fun (s : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)) H)))) (fun (H : Not (Exists.{succ u2} (Finset.{u2} M) (fun (s : Finset.{u2} M) => Nonempty.{max (succ u2) (succ u1)} (Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) => OfNat.ofNat.{max u2 u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) 1 (One.toOfNat1.{max u2 u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (instOneMonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))))
+Case conversion may be inaccurate. Consider using '#align linear_map.coe_det LinearMap.coe_detₓ'. -/
 theorem coe_det [DecidableEq M] :
     ⇑(LinearMap.det : (M →ₗ[A] M) →* A) =
       if H : ∃ s : Finset M, Nonempty (Basis s A M) then
@@ -211,6 +281,12 @@ theorem coe_det [DecidableEq M] :
 
 end
 
+/- warning: linear_map.det_eq_det_to_matrix_of_finset -> LinearMap.det_eq_det_toMatrix_of_finset is a dubious translation:
+lean 3 declaration is
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] [_inst_11 : DecidableEq.{succ u1} M] {s : Finset.{u1} M} (b : Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} A (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f) (Matrix.det.{u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (fun (a : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (b : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) => Subtype.decidableEq.{u1} M (fun (x : M) => Membership.Mem.{u1, u1} M (Finset.{u1} M) (Finset.hasMem.{u1} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u1} M s) A _inst_8 (coeFn.{max (succ u1) (succ (max u1 u2)), max (succ u1) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u1, max u1 u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.toMatrix._proof_2.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.module.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u2, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u2, u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (fun (_x : LinearEquiv.{u2, u2, u1, max u1 u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.toMatrix._proof_2.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.module.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u2, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u2, u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) => (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A)) (LinearEquiv.hasCoeToFun.{u2, u2, u1, max u1 u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.module.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u2, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u2, u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.toMatrix._proof_2.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.toMatrix.{u2, u1, u1, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (Finset.Subtype.fintype.{u1} M s) (Finset.Subtype.fintype.{u1} M s) (fun (a : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (b : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) => Subtype.decidableEq.{u1} M (fun (x : M) => Membership.Mem.{u1, u1} M (Finset.{u1} M) (Finset.hasMem.{u1} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f))
+but is expected to have type
+  forall {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] [_inst_9 : Module.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_11 : DecidableEq.{succ u2} M] {s : Finset.{u2} M} (b : Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9) (f : LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))))) (LinearMap.det.{u2, u1} M _inst_2 A _inst_8 _inst_9) f) (Matrix.det.{u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u2} M s) A _inst_8 (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, u2, max u2 u1} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (SMulZeroClass.toSMul.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Module.toDistribMulAction.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, u2, max u2 u1} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, max u2 u1, max u2 u1} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, max u2 u1} A A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.toMatrix.{u1, u2, u2, u2, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Finset.Subtype.fintype.{u2} M s) (Finset.Subtype.fintype.{u2} M s) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 b b) f))
+Case conversion may be inaccurate. Consider using '#align linear_map.det_eq_det_to_matrix_of_finset LinearMap.det_eq_det_toMatrix_of_finsetₓ'. -/
 -- Auxiliary lemma, the `simp` normal form goes in the other direction
 -- (using `linear_map.det_to_matrix`)
 theorem det_eq_det_toMatrix_of_finset [DecidableEq M] {s : Finset M} (b : Basis s A M)
@@ -220,6 +296,12 @@ theorem det_eq_det_toMatrix_of_finset [DecidableEq M] {s : Finset M} (b : Basis
   rw [LinearMap.coe_det, dif_pos, det_aux_def' _ b] <;> assumption
 #align linear_map.det_eq_det_to_matrix_of_finset LinearMap.det_eq_det_toMatrix_of_finset
 
+/- warning: linear_map.det_to_matrix -> LinearMap.det_toMatrix is a dubious translation:
+lean 3 declaration is
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Module.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (b : Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u3} A (Matrix.det.{u3, u2} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (coeFn.{max (succ u1) (succ (max u2 u3)), max (succ u1) (succ (max u2 u3))} (LinearEquiv.{u3, u3, u1, max u2 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (fun (_x : LinearEquiv.{u3, u3, u1, max u2 u3} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) => (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> (Matrix.{u2, u2, u3} ι ι A)) (LinearEquiv.hasCoeToFun.{u3, u3, u1, max u2 u3} A A (LinearMap.{u3, u3, u1, u1} A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u3} ι ι A) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.addCommMonoid.{u3, u3, u1, u1} A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Matrix.addCommMonoid.{u3, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))))) (LinearMap.module.{u3, u3, u3, u1, u1} A A A M M (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u3, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u3, u2, u2, u3} ι ι A A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8)) (LinearMap.toMatrix._proof_2.{u3} A (CommRing.toCommSemiring.{u3} A _inst_8))) (LinearMap.toMatrix.{u3, u2, u2, u1, u1} A (CommRing.toCommSemiring.{u3} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f)) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.det.{u1, u3} M _inst_2 A _inst_8 _inst_9) f)
+but is expected to have type
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (b : Basis.{u3, u2, u1} ι A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} A (Matrix.det.{u2, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 A _inst_8 (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), succ u1, max (succ u3) (succ u2)} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => Matrix.{u3, u3, u2} ι ι A) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (SMulZeroClass.toSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toZero.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (AddMonoid.toAddZeroClass.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u2, u1, max u3 u2} (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} ι ι A) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))))) (Module.toDistribMulAction.{u2, u1} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u2, max u3 u2} A (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, max u3 u2, max (max u1 u3) u2} A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, max u3 u2, max (max u1 u3) u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearEquiv.{u2, u2, u1, max u2 u3} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, max u3 u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u3, u3, u2} ι ι A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u3, u3} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (smulCommClass_self.{u2, u1} A M (CommSemiring.toCommMonoid.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (MulActionWithZero.toMulAction.{u2, u1} A M (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} A M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)))) (Matrix.module.{u2, u3, u3, u2} ι ι A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))))) (LinearMap.toMatrix.{u2, u3, u3, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f)
+Case conversion may be inaccurate. Consider using '#align linear_map.det_to_matrix LinearMap.det_toMatrixₓ'. -/
 @[simp]
 theorem det_toMatrix (b : Basis ι A M) (f : M →ₗ[A] M) : Matrix.det (toMatrix b b f) = f.det :=
   by
@@ -227,22 +309,46 @@ theorem det_toMatrix (b : Basis ι A M) (f : M →ₗ[A] M) : Matrix.det (toMatr
   rw [det_eq_det_to_matrix_of_finset b.reindex_finset_range, det_to_matrix_eq_det_to_matrix b]
 #align linear_map.det_to_matrix LinearMap.det_toMatrix
 
+/- warning: linear_map.det_to_matrix' -> LinearMap.det_toMatrix' is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {ι : Type.{u2}} [_inst_11 : Fintype.{u2} ι] [_inst_12 : DecidableEq.{succ u2} ι] (f : LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))), Eq.{succ u1} A (Matrix.det.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_12 a b) _inst_11 A _inst_8 (coeFn.{succ (max u2 u1), succ (max u2 u1)} (LinearEquiv.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_1.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.toMatrix'._proof_2.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_3.{u1, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι)) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (_x : LinearEquiv.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_1.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.toMatrix'._proof_2.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_3.{u1, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι)) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) -> (Matrix.{u2, u2, u1} ι ι A)) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.Function.module.{u2, u1, u1} ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_3.{u1, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι)) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (LinearMap.toMatrix'._proof_1.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.toMatrix'._proof_2.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.toMatrix'.{u1, u2, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι ι _inst_11 (fun (a : ι) (b : ι) => _inst_12 a b)) f)) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ (max u2 u1)) (succ u1)} (MonoidHom.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u2 u1} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (fun (_x : MonoidHom.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u2 u1} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) => (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) -> A) (MonoidHom.hasCoeToFun.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u2 u1} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.det.{max u2 u1, u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A _inst_8 (Pi.Function.module.{u2, u1, u1} ι A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toAddCommGroup.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) f)
+but is expected to have type
+  forall {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] {ι : Type.{u2}} [_inst_11 : Fintype.{u2} ι] [_inst_12 : DecidableEq.{succ u2} ι] (f : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))), Eq.{succ u1} A (Matrix.det.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_12 a b) _inst_11 A _inst_8 (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (_x : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) => Matrix.{u2, u2, u1} ι ι A) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (SMulZeroClass.toSMul.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddMonoid.toZero.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddMonoid.toAddZeroClass.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Module.toDistribMulAction.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι A) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, max u2 u1, max u2 u1} A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (ι -> A) (ι -> A) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.{u2, u2, u1} ι ι A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} A A A (ι -> A) (ι -> A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1980 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1983 : ι) => A) A A (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => Algebra.toSMul.{u1, u1} A A (CommRing.toCommSemiring.{u1} A _inst_8) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (fun (i : ι) => smulCommClass_self.{u1, u1} A A (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u1} A A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (MonoidWithZero.toMulActionWithZero.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (Matrix.module.{u1, u2, u2, u1} ι ι A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.toMatrix'.{u1, u2, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) ι ι _inst_11 (fun (a : ι) (b : ι) => _inst_12 a b)) f)) (FunLike.coe.{max (succ u1) (succ (max u1 u2)), succ (max u1 u2), succ u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u1 u2} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (_x : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) => A) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u1 u2} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulOneClass.toMul.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u1 u2} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))))))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u1 u2} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u1 u2} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) A (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (ι -> A) (ι -> A) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (Module.End.ring.{u1, max u1 u2} A (ι -> A) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))))) (LinearMap.det.{max u1 u2, u1} (ι -> A) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => A) (fun (i : ι) => Ring.toAddCommGroup.{u1} A (CommRing.toRing.{u1} A _inst_8))) A _inst_8 (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Determinant._hyg.2660 : ι) => A) A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (fun (i : ι) => Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8))))) f)
+Case conversion may be inaccurate. Consider using '#align linear_map.det_to_matrix' LinearMap.det_toMatrix'ₓ'. -/
 @[simp]
 theorem det_toMatrix' {ι : Type _} [Fintype ι] [DecidableEq ι] (f : (ι → A) →ₗ[A] ι → A) :
     det f.toMatrix' = f.det := by simp [← to_matrix_eq_to_matrix']
 #align linear_map.det_to_matrix' LinearMap.det_toMatrix'
 
+/- warning: linear_map.det_to_lin -> LinearMap.det_toLin is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (b : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (f : Matrix.{u3, u3, u1} ι ι R), Eq.{succ u1} R (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (LinearEquiv.{u1, u1, max u3 u1, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.toLin._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.{u3, u3, u1} ι ι R) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u1, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u3, u3, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.module.{u1, u1, u1, u2, u2} R R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (Matrix.toLin._proof_3.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) (fun (_x : LinearEquiv.{u1, u1, max u3 u1, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.toLin._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.{u3, u3, u1} ι ι R) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u1, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u3, u3, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.module.{u1, u1, u1, u2, u2} R R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (Matrix.toLin._proof_3.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) => (Matrix.{u3, u3, u1} ι ι R) -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3)) (LinearEquiv.hasCoeToFun.{u1, u1, max u3 u1, u2} R R (Matrix.{u3, u3, u1} ι ι R) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u3, u3, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.module.{u1, u1, u1, u2, u2} R R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (Matrix.toLin._proof_3.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.toLin._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.toLin.{u1, u3, u3, u2, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 b b) f)) (Matrix.det.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 f)
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (b : Basis.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (f : Matrix.{u3, u3, u2} ι ι R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), succ u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (Matrix.{u3, u3, u2} ι ι R) (fun (a : Matrix.{u3, u3, u2} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u2} ι ι R) => LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) a) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (SMulZeroClass.toSMul.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (AddMonoid.toZero.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (SMulZeroClass.toSMul.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u1) u3} R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u2 u3, u1, max (max u2 u1) u3} R R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u2 u3, u1} R R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (Matrix.toLin.{u2, u3, u3, u1, u1} R (CommRing.toCommSemiring.{u2} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 b b) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3)))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), succ u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (Matrix.{u3, u3, u2} ι ι R) (fun (_x : Matrix.{u3, u3, u2} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u2} ι ι R) => LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (SMulZeroClass.toSMul.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (AddMonoid.toZero.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (SMulZeroClass.toSMul.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddMonoid.toZero.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddMonoid.toAddZeroClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u2, max u2 u3, u1} (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} ι ι R) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Module.toDistribMulAction.{u2, max u2 u3} R (Matrix.{u3, u3, u2} ι ι R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Module.toDistribMulAction.{u2, u1} R (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max u2 u3, u1, max (max u2 u1) u3} R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u2 u3, u1, max (max u2 u1) u3} R R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u2 u3, u1} R R (Matrix.{u3, u3, u2} ι ι R) (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Matrix.addCommMonoid.{u2, u3, u3} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Matrix.module.{u2, u3, u3, u2} ι ι R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} R R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) _inst_3 (smulCommClass_self.{u2, u1} R M (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (MulActionWithZero.toMulAction.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (Matrix.toLin.{u2, u3, u3, u1, u1} R (CommRing.toCommSemiring.{u2} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 b b) f)) (Matrix.det.{u2, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 f)
+Case conversion may be inaccurate. Consider using '#align linear_map.det_to_lin LinearMap.det_toLinₓ'. -/
 @[simp]
 theorem det_toLin (b : Basis ι R M) (f : Matrix ι ι R) :
     LinearMap.det (Matrix.toLin b b f) = f.det := by
   rw [← LinearMap.det_toMatrix b, LinearMap.toMatrix_toLin]
 #align linear_map.det_to_lin LinearMap.det_toLin
 
+/- warning: linear_map.det_to_lin' -> LinearMap.det_toLin' is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] (f : Matrix.{u2, u2, u1} ι ι R), Eq.{succ u1} R (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ (max u2 u1)) (succ u1)} (MonoidHom.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u2 u1} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u2 u1} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) -> R) (MonoidHom.hasCoeToFun.{max u2 u1, u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u2 u1} (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u2 u1} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{max u2 u1, u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) R _inst_1 (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (coeFn.{succ (max u2 u1), succ (max u2 u1)} (LinearEquiv.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.toLin'._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_3.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι))) (fun (_x : LinearEquiv.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.toLin'._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_3.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι))) => (Matrix.{u2, u2, u1} ι ι R) -> (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u2 u1, max u2 u1} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.module.{u1, u1, u1, max u2 u1, max u2 u1} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.Function.module.{u2, u1, u1} ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_3.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Matrix.toLin'._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.toLin'._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.toLin'.{u1, u2, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b)) f)) (Matrix.det.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 f)
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] (f : Matrix.{u2, u2, u1} ι ι R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => R) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (Matrix.{u2, u2, u1} ι ι R) (fun (a : Matrix.{u2, u2, u1} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u2, u2, u1} ι ι R) => LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) a) (SMulHomClass.toFunLike.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toZero.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toAddZeroClass.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, max u2 u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (Matrix.toLin'.{u1, u2, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b)) f)) (FunLike.coe.{max (succ u1) (succ (max u1 u2)), succ (max u1 u2), succ u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u1 u2} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (_x : LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u1 u2} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulOneClass.toMul.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u1 u2} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))))) (MulOneClass.toMul.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, max u1 u2, u1} (MonoidHom.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u1 u2} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u1 u2} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (MonoidHom.monoidHomClass.{max u1 u2, u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (MulZeroOneClass.toMulOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocSemiring.toMulZeroOneClass.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonAssocRing.toNonAssocSemiring.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Ring.toNonAssocRing.{max u1 u2} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (ι -> R) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{max u1 u2} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.End.ring.{u1, max u1 u2} R (ι -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Pi.addCommGroup.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (LinearMap.det.{max u1 u2, u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (ᾰ : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1))) R _inst_1 (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (Matrix.{u2, u2, u1} ι ι R) (fun (_x : Matrix.{u2, u2, u1} ι ι R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u2, u2, u1} ι ι R) => LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toZero.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddMonoid.toAddZeroClass.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, max u2 u1, max u2 u1} (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} ι ι R) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u1} R (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u1, max u2 u1, max u2 u1} R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearEquiv.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u1, max u2 u1} R R (Matrix.{u2, u2, u1} ι ι R) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (ι -> R) (ι -> R) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u2, u2} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.addCommMonoid.{u1, u1, max u1 u2, max u1 u2} R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.module.{u1, u2, u2, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u2, max u1 u2} R R R (ι -> R) (ι -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.addCommMonoid.{u2, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2103 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Pi.module.{u2, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Pi.smulCommClass.{u2, u1, u1, u1} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2106 : ι) => R) R R (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => Algebra.toSMul.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (fun (i : ι) => smulCommClass_self.{u1, u1} R R (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u1} R R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (Matrix.toLin'.{u1, u2, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b)) f)) (Matrix.det.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 f)
+Case conversion may be inaccurate. Consider using '#align linear_map.det_to_lin' LinearMap.det_toLin'ₓ'. -/
 @[simp]
 theorem det_toLin' (f : Matrix ι ι R) : LinearMap.det f.toLin' = f.det := by
   simp only [← to_lin_eq_to_lin', det_to_lin]
 #align linear_map.det_to_lin' LinearMap.det_toLin'
 
+/- warning: linear_map.det_cases -> LinearMap.det_cases is a dubious translation:
+lean 3 declaration is
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] [_inst_11 : DecidableEq.{succ u1} M] {P : A -> Prop} (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), (forall (s : Finset.{u1} M) (b : Basis.{u1, u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9), P (Matrix.det.{u2, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (fun (a : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (b : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) => Subtype.decidableEq.{u1} M (fun (x : M) => Membership.Mem.{u1, u1} M (Finset.{u1} M) (Finset.hasMem.{u1} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u1} M s) A _inst_8 (coeFn.{max (succ u1) (succ (max u1 u2)), max (succ u1) (succ (max u1 u2))} (LinearEquiv.{u2, u2, u1, max u1 u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.toMatrix._proof_2.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.module.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u2, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u2, u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (fun (_x : LinearEquiv.{u2, u2, u1, max u1 u2} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.toMatrix._proof_2.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.module.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u2, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u2, u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) => (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A)) (LinearEquiv.hasCoeToFun.{u2, u2, u1, max u1 u2} A A (LinearMap.{u2, u2, u1, u1} A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Matrix.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Matrix.addCommMonoid.{u2, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (LinearMap.module.{u2, u2, u2, u1, u1} A A A M M (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9 (LinearMap.toMatrix._proof_3.{u2, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Matrix.module.{u2, u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) A A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))) (LinearMap.toMatrix._proof_1.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) (LinearMap.toMatrix._proof_2.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))) (LinearMap.toMatrix.{u2, u1, u1, u1, u1} A (CommRing.toCommSemiring.{u2} A _inst_8) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (Finset.Subtype.fintype.{u1} M s) (Finset.Subtype.fintype.{u1} M s) (fun (a : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) (b : coeSort.{succ u1, succ (succ u1)} (Finset.{u1} M) Type.{u1} (Finset.hasCoeToSort.{u1} M) s) => Subtype.decidableEq.{u1} M (fun (x : M) => Membership.Mem.{u1, u1} M (Finset.{u1} M) (Finset.hasMem.{u1} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 b b) f))) -> (P (OfNat.ofNat.{u2} A 1 (OfNat.mk.{u2} A 1 (One.one.{u2} A (AddMonoidWithOne.toOne.{u2} A (AddGroupWithOne.toAddMonoidWithOne.{u2} A (AddCommGroupWithOne.toAddGroupWithOne.{u2} A (Ring.toAddCommGroupWithOne.{u2} A (CommRing.toRing.{u2} A _inst_8))))))))) -> (P (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f))
+but is expected to have type
+  forall {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] {A : Type.{u1}} [_inst_8 : CommRing.{u1} A] [_inst_9 : Module.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_11 : DecidableEq.{succ u2} M] {P : A -> Prop} (f : LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9), (forall (s : Finset.{u2} M) (b : Basis.{u2, u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9), P (Matrix.det.{u1, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) (Finset.Subtype.fintype.{u2} M s) A _inst_8 (FunLike.coe.{max (succ u2) (succ u1), succ u2, max (succ u2) (succ u1)} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, u2, max u2 u1} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (SMulZeroClass.toSMul.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddMonoid.toZero.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddMonoid.toAddZeroClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Module.toDistribMulAction.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, u2, max u2 u1} (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (AddCommMonoid.toAddMonoid.{u2} (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))))) (Module.toDistribMulAction.{u1, u2} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9))))) (Module.toDistribMulAction.{u1, max u2 u1} A (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, max u2 u1, max u2 u1} A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, u2, max u2 u1, max u2 u1} A A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearEquiv.{u1, u1, u2, max u1 u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, u2, max u2 u1} A A (LinearMap.{u1, u1, u2, u2} A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Matrix.{u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Matrix.addCommMonoid.{u1, u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} A A A M M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) _inst_9 (smulCommClass_self.{u1, u2} A M (CommSemiring.toCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (MulActionWithZero.toMulAction.{u1, u2} A M (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} A M (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9)))) (Matrix.module.{u1, u2, u2, u1} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) A A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))))) (Semiring.toModule.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHom.id.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8))) (RingHomInvPair.ids.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_8)))))))) (LinearMap.toMatrix.{u1, u2, u2, u2, u2} A (CommRing.toCommSemiring.{u1} A _inst_8) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (Finset.Subtype.fintype.{u2} M s) (Finset.Subtype.fintype.{u2} M s) (fun (a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) (b : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s)) => Subtype.instDecidableEqSubtype.{u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Finset.{u2} M) (Finset.instMembershipFinset.{u2} M) x s) (fun (a : M) (b : M) => _inst_11 a b) a b) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9 b b) f))) -> (P (OfNat.ofNat.{u1} A 1 (One.toOfNat1.{u1} A (NonAssocRing.toOne.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) -> (P (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u1} A (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))) (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} A A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) (RingHom.id.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u1, u2} A M (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u1} A (NonAssocSemiring.toMulZeroOneClass.{u1} A (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_8)))))))) (LinearMap.det.{u2, u1} M _inst_2 A _inst_8 _inst_9) f))
+Case conversion may be inaccurate. Consider using '#align linear_map.det_cases LinearMap.det_casesₓ'. -/
 /-- To show `P f.det` it suffices to consider `P (to_matrix _ _ f).det` and `P 1`. -/
 @[elab_as_elim]
 theorem det_cases [DecidableEq M] {P : A → Prop} (f : M →ₗ[A] M)
@@ -255,16 +361,34 @@ theorem det_cases [DecidableEq M] {P : A → Prop} (f : M →ₗ[A] M)
   · exact h1
 #align linear_map.det_cases LinearMap.det_cases
 
+/- warning: linear_map.det_comp -> LinearMap.det_comp is a dubious translation:
+lean 3 declaration is
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (g : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} A (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearMap.comp.{u2, u2, u2, u1, u1, u1} A A A M M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomCompTriple.right_ids.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))) f g)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) g))
+but is expected to have type
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (g : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.comp.{u2, u2, u2, u1, u1, u1} A A A M M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) f g)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearMap.comp.{u2, u2, u2, u1, u1, u1} A A A M M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) f g)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) g))
+Case conversion may be inaccurate. Consider using '#align linear_map.det_comp LinearMap.det_compₓ'. -/
 @[simp]
 theorem det_comp (f g : M →ₗ[A] M) : (f.comp g).det = f.det * g.det :=
   LinearMap.det.map_mul f g
 #align linear_map.det_comp LinearMap.det_comp
 
+/- warning: linear_map.det_id -> LinearMap.det_id is a dubious translation:
+lean 3 declaration is
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)], Eq.{succ u2} A (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearMap.id.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (OfNat.ofNat.{u2} A 1 (OfNat.mk.{u2} A 1 (One.one.{u2} A (AddMonoidWithOne.toOne.{u2} A (AddGroupWithOne.toAddMonoidWithOne.{u2} A (AddCommGroupWithOne.toAddGroupWithOne.{u2} A (Ring.toAddCommGroupWithOne.{u2} A (CommRing.toRing.{u2} A _inst_8))))))))
+but is expected to have type
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)], Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearMap.id.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (NonAssocRing.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearMap.id.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) _inst_8)))))
+Case conversion may be inaccurate. Consider using '#align linear_map.det_id LinearMap.det_idₓ'. -/
 @[simp]
 theorem det_id : (LinearMap.id : M →ₗ[A] M).det = 1 :=
   LinearMap.det.map_one
 #align linear_map.det_id LinearMap.det_id
 
+/- warning: linear_map.det_smul -> LinearMap.det_smul is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} [_inst_11 : Field.{u1} 𝕜] {M : Type.{u2}} [_inst_12 : AddCommGroup.{u2} M] [_inst_13 : Module.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12)] (c : 𝕜) (f : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13), Eq.{succ u1} 𝕜 (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) => (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) -> 𝕜) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) (LinearMap.det.{u2, u1} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)) _inst_13) (SMul.smul.{u1, u2} 𝕜 (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (LinearMap.hasSmul.{u1, u1, u1, u2, u2} 𝕜 𝕜 𝕜 M M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13 (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) (Ring.toMonoid.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (Module.toDistribMulAction.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13) (smulCommClass_self.{u1, u2} 𝕜 M (CommRing.toCommMonoid.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11))) (MulActionWithZero.toMulAction.{u1, u2} 𝕜 M (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12)))) (Module.toMulActionWithZero.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13)))) c f)) (HMul.hMul.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHMul.{u1} 𝕜 (Distrib.toHasMul.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))) (HPow.hPow.{u1, 0, u1} 𝕜 Nat 𝕜 (instHPow.{u1, 0} 𝕜 Nat (Monoid.Pow.{u1} 𝕜 (Ring.toMonoid.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))) c (FiniteDimensional.finrank.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) _inst_12 _inst_13)) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) => (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) -> 𝕜) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) (LinearMap.det.{u2, u1} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)) _inst_13) f))
+but is expected to have type
+  forall {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] {M : Type.{u1}} [_inst_12 : AddCommGroup.{u1} M] [_inst_13 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12)] (c : 𝕜) (f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) (HSMul.hSMul.{u2, u1, u1} 𝕜 (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (instHSMul.{u2, u1} 𝕜 (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.instSMulLinearMap.{u2, u2, u2, u1, u1} 𝕜 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13 (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) (MonoidWithZero.toMonoid.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) (Module.toDistribMulAction.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13) (smulCommClass_self.{u2, u1} 𝕜 M (CommRing.toCommMonoid.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))) (MulActionWithZero.toMulAction.{u2, u1} 𝕜 M (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_12))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13))))) c f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13)))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_13) (HSMul.hSMul.{u2, u1, u1} 𝕜 (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (instHSMul.{u2, u1} 𝕜 (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.instSMulLinearMap.{u2, u2, u2, u1, u1} 𝕜 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13 (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) (MonoidWithZero.toMonoid.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))) (Module.toDistribMulAction.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13) (smulCommClass_self.{u2, u1} 𝕜 M (CommRing.toCommMonoid.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))) (MulActionWithZero.toMulAction.{u2, u1} 𝕜 M (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_12))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13))))) c f)) (HMul.hMul.{u2, u2, u2} 𝕜 ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) 𝕜 (instHMul.{u2} 𝕜 (NonUnitalNonAssocRing.toMul.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11)))))) (HPow.hPow.{u2, 0, u2} 𝕜 Nat 𝕜 (instHPow.{u2, 0} 𝕜 Nat (Monoid.Pow.{u2} 𝕜 (MonoidWithZero.toMonoid.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))))) c (FiniteDimensional.finrank.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) _inst_12 _inst_13)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13)))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_13) f))
+Case conversion may be inaccurate. Consider using '#align linear_map.det_smul LinearMap.det_smulₓ'. -/
 /-- Multiplying a map by a scalar `c` multiplies its determinant by `c ^ dim M`. -/
 @[simp]
 theorem det_smul {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCommGroup M] [Module 𝕜 M] (c : 𝕜)
@@ -282,6 +406,12 @@ theorem det_smul {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCommGroup M] [Mod
       simp [coe_det, H, this]
 #align linear_map.det_smul LinearMap.det_smul
 
+/- warning: linear_map.det_zero' -> LinearMap.det_zero' is a dubious translation:
+lean 3 declaration is
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_11 : Finite.{succ u3} ι] [_inst_12 : Nonempty.{succ u3} ι], (Basis.{u3, u2, u1} ι A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) -> (Eq.{succ u2} A (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (OfNat.mk.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.zero.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.hasZero.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))))))) (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))))))))
+but is expected to have type
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_11 : Finite.{succ u3} ι] [_inst_12 : Nonempty.{succ u3} ι], (Basis.{u3, u2, u1} ι A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) -> (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (CommSemiring.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) _inst_8))))))
+Case conversion may be inaccurate. Consider using '#align linear_map.det_zero' LinearMap.det_zero'ₓ'. -/
 theorem det_zero' {ι : Type _} [Finite ι] [Nonempty ι] (b : Basis ι A M) :
     LinearMap.det (0 : M →ₗ[A] M) = 0 :=
   by
@@ -290,6 +420,12 @@ theorem det_zero' {ι : Type _} [Finite ι] [Nonempty ι] (b : Basis ι A M) :
   rwa [← det_to_matrix b, LinearEquiv.map_zero, det_zero]
 #align linear_map.det_zero' LinearMap.det_zero'
 
+/- warning: linear_map.det_zero -> LinearMap.det_zero is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} [_inst_11 : Field.{u1} 𝕜] {M : Type.{u2}} [_inst_12 : AddCommGroup.{u2} M] [_inst_13 : Module.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12)], Eq.{succ u1} 𝕜 (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) => (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) -> 𝕜) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) (LinearMap.det.{u2, u1} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)) _inst_13) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 0 (OfNat.mk.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 0 (Zero.zero.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (LinearMap.hasZero.{u1, u1, u2, u2} 𝕜 𝕜 M M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13 (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11)))))))))) (HPow.hPow.{u1, 0, u1} 𝕜 Nat 𝕜 (instHPow.{u1, 0} 𝕜 Nat (Monoid.Pow.{u1} 𝕜 (Ring.toMonoid.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11)))))))))) (FiniteDimensional.finrank.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) _inst_12 _inst_13))
+but is expected to have type
+  forall {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] {M : Type.{u1}} [_inst_12 : AddCommGroup.{u1} M] [_inst_13 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12)], Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13 (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13)))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_13) (OfNat.ofNat.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 0 (Zero.toOfNat0.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13 (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))))))) (HPow.hPow.{u2, 0, u2} 𝕜 Nat 𝕜 (instHPow.{u2, 0} 𝕜 Nat (Monoid.Pow.{u2} 𝕜 (MonoidWithZero.toMonoid.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))))))) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))))) (FiniteDimensional.finrank.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) _inst_12 _inst_13))
+Case conversion may be inaccurate. Consider using '#align linear_map.det_zero LinearMap.det_zeroₓ'. -/
 /-- In a finite-dimensional vector space, the zero map has determinant `1` in dimension `0`,
 and `0` otherwise. We give a formula that also works in infinite dimension, where we define
 the determinant to be `1`. -/
@@ -299,6 +435,12 @@ theorem det_zero {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCommGroup M] [Mod
   simp only [← zero_smul 𝕜 (1 : M →ₗ[𝕜] M), det_smul, mul_one, MonoidHom.map_one]
 #align linear_map.det_zero LinearMap.det_zero
 
+/- warning: linear_map.det_eq_one_of_subsingleton -> LinearMap.det_eq_one_of_subsingleton is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_11 : Subsingleton.{succ u2} M] (f : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3), Eq.{succ u1} R (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) f) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_11 : Subsingleton.{succ u2} M] (f : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3)))))) (MulOneClass.toMul.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) f) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) 1 (One.toOfNat1.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) (NonAssocRing.toOne.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) (Ring.toNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) (CommRing.toRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => R) f) _inst_1)))))
+Case conversion may be inaccurate. Consider using '#align linear_map.det_eq_one_of_subsingleton LinearMap.det_eq_one_of_subsingletonₓ'. -/
 theorem det_eq_one_of_subsingleton [Subsingleton M] (f : M →ₗ[R] M) : (f : M →ₗ[R] M).det = 1 :=
   by
   have b : Basis (Fin 0) R M := Basis.empty M
@@ -306,6 +448,12 @@ theorem det_eq_one_of_subsingleton [Subsingleton M] (f : M →ₗ[R] M) : (f : M
   exact Matrix.det_isEmpty
 #align linear_map.det_eq_one_of_subsingleton LinearMap.det_eq_one_of_subsingleton
 
+/- warning: linear_map.det_eq_one_of_finrank_eq_zero -> LinearMap.det_eq_one_of_finrank_eq_zero is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} [_inst_11 : Field.{u1} 𝕜] {M : Type.{u2}} [_inst_12 : AddCommGroup.{u2} M] [_inst_13 : Module.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12)], (Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) _inst_12 _inst_13) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (forall (f : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13), Eq.{succ u1} 𝕜 (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) => (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) -> 𝕜) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) (AddCommGroup.toAddCommMonoid.{u2} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)))))))) (LinearMap.det.{u2, u1} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_11)) _inst_13) f) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddGroupWithOne.toAddMonoidWithOne.{u1} 𝕜 (AddCommGroupWithOne.toAddGroupWithOne.{u1} 𝕜 (Ring.toAddCommGroupWithOne.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_11))))))))))
+but is expected to have type
+  forall {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] {M : Type.{u1}} [_inst_12 : AddCommGroup.{u1} M] [_inst_13 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12)], (Eq.{1} Nat (FiniteDimensional.finrank.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) _inst_12 _inst_13) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) -> (forall (f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13)))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_12 _inst_13))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_12 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_13) f) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) (NonAssocRing.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) (DivisionRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) (Field.toDivisionRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) (AddCommGroup.toAddCommMonoid.{u1} M _inst_12) _inst_13 _inst_13) => 𝕜) f) _inst_11)))))))
+Case conversion may be inaccurate. Consider using '#align linear_map.det_eq_one_of_finrank_eq_zero LinearMap.det_eq_one_of_finrank_eq_zeroₓ'. -/
 theorem det_eq_one_of_finrank_eq_zero {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCommGroup M]
     [Module 𝕜 M] (h : FiniteDimensional.finrank 𝕜 M = 0) (f : M →ₗ[𝕜] M) :
     (f : M →ₗ[𝕜] M).det = 1 := by
@@ -318,6 +466,12 @@ theorem det_eq_one_of_finrank_eq_zero {𝕜 : Type _} [Field 𝕜] {M : Type _}
     exact Matrix.det_isEmpty
 #align linear_map.det_eq_one_of_finrank_eq_zero LinearMap.det_eq_one_of_finrank_eq_zero
 
+/- warning: linear_map.det_conj -> LinearMap.det_conj is a dubious translation:
+lean 3 declaration is
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {N : Type.{u3}} [_inst_11 : AddCommGroup.{u3} N] [_inst_12 : Module.{u2, u3} A N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11)] (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (e : LinearEquiv.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12), Eq.{succ u2} A (coeFn.{max (succ u2) (succ u3), max (succ u3) (succ u2)} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.ring.{u2, u3} A N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_11 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.ring.{u2, u3} A N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_11 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) -> A) (MonoidHom.hasCoeToFun.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.ring.{u2, u3} A N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_11 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u3, u2} N _inst_11 A _inst_8 _inst_12) (LinearMap.comp.{u2, u2, u2, u3, u1, u3} A A A N M N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_9 _inst_12 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))) ((fun (a : Sort.{max (succ u1) (succ u3)}) (b : Sort.{max (succ u1) (succ u3)}) [self : HasLiftT.{max (succ u1) (succ u3), max (succ u1) (succ u3)} a b] => self.0) (LinearEquiv.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12) (LinearMap.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12) (HasLiftT.mk.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (LinearEquiv.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12) (LinearMap.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12) (CoeTCₓ.coe.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (LinearEquiv.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12) (LinearMap.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12) (coeBase.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (LinearEquiv.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12) (LinearMap.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u1, u3} A A M N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) e) (LinearMap.comp.{u2, u2, u2, u3, u1, u1} A A A N M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))) f ((fun (a : Sort.{max (succ u3) (succ u1)}) (b : Sort.{max (succ u3) (succ u1)}) [self : HasLiftT.{max (succ u3) (succ u1), max (succ u3) (succ u1)} a b] => self.0) (LinearEquiv.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9) (LinearMap.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9) (HasLiftT.mk.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9) (LinearMap.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9) (CoeTCₓ.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9) (LinearMap.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9) (coeBase.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9) (LinearMap.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u3, u1} A A N M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (LinearEquiv.symm.{u2, u2, u1, u3} A A M N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) e))))) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f)
+but is expected to have type
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {N : Type.{u3}} [_inst_11 : AddCommGroup.{u3} N] [_inst_12 : Module.{u2, u3} A N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11)] (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (e : LinearEquiv.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) => A) (LinearMap.comp.{u2, u2, u2, u3, u1, u3} A A A N M N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_9 _inst_12 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (LinearEquiv.toLinearMap.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12 e) (LinearMap.comp.{u2, u2, u2, u3, u1, u1} A A A N M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))) f (LinearEquiv.toLinearMap.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u3} A A M N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) e))))) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.ring.{u2, u3} A N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_11 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) => A) _x) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.ring.{u2, u3} A N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_11 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulOneClass.toMul.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.ring.{u2, u3} A N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_11 _inst_12)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u3, u2} (MonoidHom.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.ring.{u2, u3} A N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_11 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.ring.{u2, u3} A N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_11 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u2} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Ring.toNonAssocRing.{u3} (LinearMap.{u2, u2, u3, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) N N (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_12) (Module.End.ring.{u2, u3} A N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_11 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.det.{u3, u2} N _inst_11 A _inst_8 _inst_12) (LinearMap.comp.{u2, u2, u2, u3, u1, u3} A A A N M N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_12 _inst_9 _inst_12 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (LinearEquiv.toLinearMap.{u2, u2, u1, u3} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12 e) (LinearMap.comp.{u2, u2, u2, u3, u1, u1} A A A N M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomCompTriple.ids.{u2, u2} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))) f (LinearEquiv.toLinearMap.{u2, u2, u3, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u3} A A M N (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_11) _inst_9 _inst_12 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) e))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f)
+Case conversion may be inaccurate. Consider using '#align linear_map.det_conj LinearMap.det_conjₓ'. -/
 /-- Conjugating a linear map by a linear equiv does not change its determinant. -/
 @[simp]
 theorem det_conj {N : Type _} [AddCommGroup N] [Module A N] (f : M →ₗ[A] M) (e : M ≃ₗ[A] N) :
@@ -341,6 +495,12 @@ theorem det_conj {N : Type _} [AddCommGroup N] [Module A N] (f : M →ₗ[A] M)
       simp only [coe_det, H, H', Pi.one_apply, dif_neg, not_false_iff]
 #align linear_map.det_conj LinearMap.det_conj
 
+/- warning: linear_map.is_unit_det -> LinearMap.isUnit_det is a dubious translation:
+lean 3 declaration is
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_11 : CommRing.{u2} A] [_inst_12 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12), (IsUnit.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.monoid.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) f) -> (IsUnit.{u2} A (Ring.toMonoid.{u2} A (CommRing.toRing.{u2} A _inst_11)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_11 _inst_12) f))
+but is expected to have type
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_11 : CommRing.{u2} A] [_inst_12 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12), (IsUnit.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.monoid.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) f) -> (IsUnit.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) f) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) f) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) f) (Ring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) f) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) f) _inst_11)))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) _inst_2 _inst_12)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_11)) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_11)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_11 _inst_12) f))
+Case conversion may be inaccurate. Consider using '#align linear_map.is_unit_det LinearMap.isUnit_detₓ'. -/
 /-- If a linear map is invertible, so is its determinant. -/
 theorem isUnit_det {A : Type _} [CommRing A] [Module A M] (f : M →ₗ[A] M) (hf : IsUnit f) :
     IsUnit f.det := by
@@ -350,6 +510,12 @@ theorem isUnit_det {A : Type _} [CommRing A] [Module A M] (f : M →ₗ[A] M) (h
   exact isUnit_of_mul_eq_one _ _ this
 #align linear_map.is_unit_det LinearMap.isUnit_det
 
+/- warning: linear_map.finite_dimensional_of_det_ne_one -> LinearMap.finiteDimensional_of_det_ne_one is a dubious translation:
+lean 3 declaration is
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12), (Ne.{succ u2} 𝕜 (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) => (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) -> 𝕜) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} 𝕜 1 (OfNat.mk.{u2} 𝕜 1 (One.one.{u2} 𝕜 (AddMonoidWithOne.toOne.{u2} 𝕜 (AddGroupWithOne.toAddMonoidWithOne.{u2} 𝕜 (AddCommGroupWithOne.toAddGroupWithOne.{u2} 𝕜 (Ring.toAddCommGroupWithOne.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11)))))))))) -> (FiniteDimensional.{u2, u1} 𝕜 M (Field.toDivisionRing.{u2} 𝕜 _inst_11) _inst_2 _inst_12)
+but is expected to have type
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12), (Ne.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12)))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (NonAssocRing.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (DivisionRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Field.toDivisionRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) _inst_11))))))) -> (FiniteDimensional.{u2, u1} 𝕜 M (Field.toDivisionRing.{u2} 𝕜 _inst_11) _inst_2 _inst_12)
+Case conversion may be inaccurate. Consider using '#align linear_map.finite_dimensional_of_det_ne_one LinearMap.finiteDimensional_of_det_ne_oneₓ'. -/
 /-- If a linear map has determinant different from `1`, then the space is finite-dimensional. -/
 theorem finiteDimensional_of_det_ne_one {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] (f : M →ₗ[𝕜] M)
     (hf : f.det ≠ 1) : FiniteDimensional 𝕜 M :=
@@ -363,6 +529,12 @@ theorem finiteDimensional_of_det_ne_one {𝕜 : Type _} [Field 𝕜] [Module 
       exact hf.elim
 #align linear_map.finite_dimensional_of_det_ne_one LinearMap.finiteDimensional_of_det_ne_one
 
+/- warning: linear_map.range_lt_top_of_det_eq_zero -> LinearMap.range_lt_top_of_det_eq_zero is a dubious translation:
+lean 3 declaration is
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12}, (Eq.{succ u2} 𝕜 (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) => (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) -> 𝕜) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))))))))) -> (LT.lt.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Preorder.toLT.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.completeLattice.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (LinearMap.range.{u2, u2, u1, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (LinearMap.semilinearMapClass.{u2, u2, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11)))))) (RingHomSurjective.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11)))) f) (Top.top.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.hasTop.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))
+but is expected to have type
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12}, (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12)))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommGroupWithZero.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Semifield.toCommGroupWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Field.toSemifield.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) _inst_11))))))) -> (LT.lt.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Preorder.toLT.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.completeLattice.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (LinearMap.range.{u2, u2, u1, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11)))))) (RingHomSurjective.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11)))) f) (Top.top.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.instTopSubmodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)))
+Case conversion may be inaccurate. Consider using '#align linear_map.range_lt_top_of_det_eq_zero LinearMap.range_lt_top_of_det_eq_zeroₓ'. -/
 /-- If the determinant of a map vanishes, then the map is not onto. -/
 theorem range_lt_top_of_det_eq_zero {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] {f : M →ₗ[𝕜] M}
     (hf : f.det = 0) : f.range < ⊤ :=
@@ -373,6 +545,12 @@ theorem range_lt_top_of_det_eq_zero {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M]
   exact isUnit_iff_ne_zero.1 (f.is_unit_det hf)
 #align linear_map.range_lt_top_of_det_eq_zero LinearMap.range_lt_top_of_det_eq_zero
 
+/- warning: linear_map.bot_lt_ker_of_det_eq_zero -> LinearMap.bot_lt_ker_of_det_eq_zero is a dubious translation:
+lean 3 declaration is
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12}, (Eq.{succ u2} 𝕜 (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) => (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) -> 𝕜) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} 𝕜 0 (OfNat.mk.{u2} 𝕜 0 (Zero.zero.{u2} 𝕜 (MulZeroClass.toHasZero.{u2} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))))))))) -> (LT.lt.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Preorder.toLT.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.completeLattice.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (Bot.bot.{u1} (Submodule.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.hasBot.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)) (LinearMap.ker.{u2, u2, u1, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (LinearMap.semilinearMapClass.{u2, u2, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11)))))) f))
+but is expected to have type
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_11 : Field.{u2} 𝕜] [_inst_12 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {f : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12}, (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12)))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) _inst_2 _inst_12))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)) _inst_12) f) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (CommGroupWithZero.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Semifield.toCommGroupWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) (Field.toSemifield.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_11)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) => 𝕜) f) _inst_11))))))) -> (LT.lt.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Preorder.toLT.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.completeLattice.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12))))) (Bot.bot.{u1} (Submodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12) (Submodule.instBotSubmodule.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12)) (LinearMap.ker.{u2, u2, u1, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_11))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_12 _inst_12 (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_11)))))) f))
+Case conversion may be inaccurate. Consider using '#align linear_map.bot_lt_ker_of_det_eq_zero LinearMap.bot_lt_ker_of_det_eq_zeroₓ'. -/
 /-- If the determinant of a map vanishes, then the map is not injective. -/
 theorem bot_lt_ker_of_det_eq_zero {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] {f : M →ₗ[𝕜] M}
     (hf : f.det = 0) : ⊥ < f.ker :=
@@ -387,37 +565,79 @@ end LinearMap
 
 namespace LinearEquiv
 
+/- warning: linear_equiv.det -> LinearEquiv.det is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)], MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)], MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))
+Case conversion may be inaccurate. Consider using '#align linear_equiv.det LinearEquiv.detₓ'. -/
 /-- On a `linear_equiv`, the domain of `linear_map.det` can be promoted to `Rˣ`. -/
 protected def det : (M ≃ₗ[R] M) →* Rˣ :=
   (Units.map (LinearMap.det : (M →ₗ[R] M) →* R)).comp
     (LinearMap.GeneralLinearGroup.generalLinearEquiv R M).symm.toMonoidHom
 #align linear_equiv.det LinearEquiv.det
 
+/- warning: linear_equiv.coe_det -> LinearEquiv.coe_det is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (f : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3), Eq.{succ u1} R ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (HasLiftT.mk.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (CoeTCₓ.coe.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (coeBase.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Units.hasCoe.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) f)) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (HasLiftT.mk.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (CoeTCₓ.coe.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (coeBase.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) f))
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 f)) (Units.val.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3)))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 f))
+Case conversion may be inaccurate. Consider using '#align linear_equiv.coe_det LinearEquiv.coe_detₓ'. -/
 @[simp]
 theorem coe_det (f : M ≃ₗ[R] M) : ↑f.det = LinearMap.det (f : M →ₗ[R] M) :=
   rfl
 #align linear_equiv.coe_det LinearEquiv.coe_det
 
+/- warning: linear_equiv.coe_inv_det -> LinearEquiv.coe_inv_det is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (f : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3), Eq.{succ u1} R ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (HasLiftT.mk.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (CoeTCₓ.coe.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (coeBase.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Units.hasCoe.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Inv.inv.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.hasInv.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) f))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (HasLiftT.mk.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (CoeTCₓ.coe.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (coeBase.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (LinearEquiv.symm.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f)))
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (LinearEquiv.symm.{u2, u2, u1, u1} R R M M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) f))) (Units.val.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) f) (Units.instInv.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) f))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3)))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (LinearEquiv.symm.{u2, u2, u1, u1} R R M M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) f)))
+Case conversion may be inaccurate. Consider using '#align linear_equiv.coe_inv_det LinearEquiv.coe_inv_detₓ'. -/
 @[simp]
 theorem coe_inv_det (f : M ≃ₗ[R] M) : ↑f.det⁻¹ = LinearMap.det (f.symm : M →ₗ[R] M) :=
   rfl
 #align linear_equiv.coe_inv_det LinearEquiv.coe_inv_det
 
+/- warning: linear_equiv.det_refl -> LinearEquiv.det_refl is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)], Eq.{succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) (LinearEquiv.refl.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (OfNat.ofNat.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) 1 (OfNat.mk.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) 1 (One.one.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulOneClass.toHasOne.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)], Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) (LinearEquiv.refl.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (InvOneClass.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (DivInvOneMonoid.toInvOneClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (DivisionMonoid.toDivInvOneMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (DivisionCommMonoid.toDivisionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (CommGroup.toDivisionCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (LinearEquiv.refl.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (Units.instCommGroupUnitsToMonoid.{u2} R (CommRing.toCommMonoid.{u2} R _inst_1)))))))))
+Case conversion may be inaccurate. Consider using '#align linear_equiv.det_refl LinearEquiv.det_reflₓ'. -/
 @[simp]
 theorem det_refl : (LinearEquiv.refl R M).det = 1 :=
   Units.ext <| LinearMap.det_id
 #align linear_equiv.det_refl LinearEquiv.det_refl
 
+/- warning: linear_equiv.det_trans -> LinearEquiv.det_trans is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (f : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (g : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3), Eq.{succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) (LinearEquiv.trans.{u1, u1, u1, u2, u2, u2} R R R M M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomCompTriple.right_ids.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (RingHomCompTriple.right_ids.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (LinearEquiv.det._proof_2.{u1} R _inst_1) f g)) (HMul.hMul.{u1, u1, u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (instHMul.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulOneClass.toHasMul.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) g) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) f))
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (g : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (LinearEquiv.trans.{u2, u2, u2, u1, u1, u1} R R R M M M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 _inst_3 (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (RingHomCompTriple.ids.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) f g)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) (LinearEquiv.trans.{u2, u2, u2, u1, u1, u1} R R R M M M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 _inst_3 (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (RingHomCompTriple.ids.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) f g)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) g) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) f) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) g) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) g) (MulOneClass.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) g) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) g) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) f))
+Case conversion may be inaccurate. Consider using '#align linear_equiv.det_trans LinearEquiv.det_transₓ'. -/
 @[simp]
 theorem det_trans (f g : M ≃ₗ[R] M) : (f.trans g).det = g.det * f.det :=
   map_mul _ g f
 #align linear_equiv.det_trans LinearEquiv.det_trans
 
+/- warning: linear_equiv.det_symm -> LinearEquiv.det_symm is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (f : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3), Eq.{succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) (LinearEquiv.symm.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f)) (Inv.inv.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.hasInv.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) f))
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (LinearEquiv.symm.{u2, u2, u1, u1} R R M M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) f)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) (LinearEquiv.symm.{u2, u2, u1, u1} R R M M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) f)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (a : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) a) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (LinearEquiv.det.{u2, u1} R _inst_1 M _inst_2 _inst_3) (Inv.inv.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (InvOneClass.toInv.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivInvOneMonoid.toInvOneClass.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (DivisionMonoid.toDivInvOneMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Group.toDivisionMonoid.{u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) f))
+Case conversion may be inaccurate. Consider using '#align linear_equiv.det_symm LinearEquiv.det_symmₓ'. -/
 @[simp]
 theorem det_symm (f : M ≃ₗ[R] M) : f.symm.det = f.det⁻¹ :=
   map_inv _ f
 #align linear_equiv.det_symm LinearEquiv.det_symm
 
+/- warning: linear_equiv.det_conj -> LinearEquiv.det_conj is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] (f : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (e : LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5), Eq.{succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (coeFn.{max (succ u1) (succ u3), max (succ u3) (succ u1)} (MonoidHom.{u3, u1} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u3, u1} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u3, u1} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u3} (LinearEquiv.{u1, u1, u3, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u3} R _inst_1 M' _inst_4 _inst_5) (LinearEquiv.trans.{u1, u1, u1, u3, u2, u3} R R R M' M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomCompTriple.right_ids.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (RingHomCompTriple.right_ids.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (LinearEquiv.det._proof_2.{u1} R _inst_1) (LinearEquiv.trans.{u1, u1, u1, u3, u2, u2} R R R M' M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomCompTriple.right_ids.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (RingHomCompTriple.right_ids.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (LinearEquiv.symm.{u1, u1, u2, u3} R R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) e) f) e)) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (fun (_x : MonoidHom.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) => (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidHom.hasCoeToFun.{u2, u1} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det._proof_1.{u1} R _inst_1) (LinearEquiv.det._proof_2.{u1} R _inst_1) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.det.{u1, u2} R _inst_1 M _inst_2 _inst_3) f)
+but is expected to have type
+  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u1}} [_inst_4 : AddCommGroup.{u1} M'] [_inst_5 : Module.{u3, u1} R M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4)] (f : LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (e : LinearEquiv.{u3, u3, u2, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) => Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (LinearEquiv.trans.{u3, u3, u3, u1, u2, u1} R R R M' M M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_3 _inst_5 (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomCompTriple.ids.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (RingHomCompTriple.ids.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (LinearEquiv.trans.{u3, u3, u3, u1, u2, u2} R R R M' M M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomCompTriple.ids.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (RingHomCompTriple.ids.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (LinearEquiv.symm.{u3, u3, u2, u1} R R M M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) e) f) e)) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (MonoidHom.{u1, u3} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (fun (_x : LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) => Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (MulOneClass.toMul.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5))))) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u1 u3, u1, u3} (MonoidHom.{u1, u3} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u3} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (DivInvMonoid.toMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (Group.toDivInvMonoid.{u1} (LinearEquiv.{u3, u3, u1, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_5) (LinearEquiv.automorphismGroup.{u3, u1} R M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (LinearEquiv.det.{u3, u1} R _inst_1 M' _inst_4 _inst_5) (LinearEquiv.trans.{u3, u3, u3, u1, u2, u1} R R R M' M M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 _inst_3 _inst_5 (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomCompTriple.ids.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (RingHomCompTriple.ids.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (LinearEquiv.trans.{u3, u3, u3, u1, u2, u2} R R R M' M M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomCompTriple.ids.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (RingHomCompTriple.ids.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (LinearEquiv.symm.{u3, u3, u2, u1} R R M M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) e) f) e)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (MonoidHom.{u2, u3} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (MulOneClass.toMul.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (MulOneClass.toMul.{u3} (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u3, u2, u3} (MonoidHom.{u2, u3} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (MonoidHom.monoidHomClass.{u2, u3} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Monoid.toMulOneClass.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (DivInvMonoid.toMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Group.toDivInvMonoid.{u2} (LinearEquiv.{u3, u3, u2, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearEquiv.automorphismGroup.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Units.instMulOneClassUnits.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (LinearEquiv.det.{u3, u2} R _inst_1 M _inst_2 _inst_3) f)
+Case conversion may be inaccurate. Consider using '#align linear_equiv.det_conj LinearEquiv.det_conjₓ'. -/
 /-- Conjugating a linear equiv by a linear equiv does not change its determinant. -/
 @[simp]
 theorem det_conj (f : M ≃ₗ[R] M) (e : M ≃ₗ[R] M') : ((e.symm.trans f).trans e).det = f.det := by
@@ -426,18 +646,36 @@ theorem det_conj (f : M ≃ₗ[R] M) (e : M ≃ₗ[R] M') : ((e.symm.trans f).tr
 
 end LinearEquiv
 
+/- warning: linear_equiv.det_mul_det_symm -> LinearEquiv.det_mul_det_symm is a dubious translation:
+lean 3 declaration is
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} A (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (HasLiftT.mk.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CoeTCₓ.coe.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (coeBase.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) f)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (HasLiftT.mk.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CoeTCₓ.coe.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (coeBase.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f)))) (OfNat.ofNat.{u2} A 1 (OfNat.mk.{u2} A 1 (One.one.{u2} A (AddMonoidWithOne.toOne.{u2} A (AddGroupWithOne.toAddMonoidWithOne.{u2} A (AddCommGroupWithOne.toAddGroupWithOne.{u2} A (Ring.toAddCommGroupWithOne.{u2} A (CommRing.toRing.{u2} A _inst_8))))))))
+but is expected to have type
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f)))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (NonAssocRing.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) _inst_8)))))
+Case conversion may be inaccurate. Consider using '#align linear_equiv.det_mul_det_symm LinearEquiv.det_mul_det_symmₓ'. -/
 /-- The determinants of a `linear_equiv` and its inverse multiply to 1. -/
 @[simp]
 theorem LinearEquiv.det_mul_det_symm {A : Type _} [CommRing A] [Module A M] (f : M ≃ₗ[A] M) :
     (f : M →ₗ[A] M).det * (f.symm : M →ₗ[A] M).det = 1 := by simp [← LinearMap.det_comp]
 #align linear_equiv.det_mul_det_symm LinearEquiv.det_mul_det_symm
 
+/- warning: linear_equiv.det_symm_mul_det -> LinearEquiv.det_symm_mul_det is a dubious translation:
+lean 3 declaration is
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} A (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (HasLiftT.mk.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CoeTCₓ.coe.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (coeBase.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f))) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (HasLiftT.mk.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CoeTCₓ.coe.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (coeBase.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) f))) (OfNat.ofNat.{u2} A 1 (OfNat.mk.{u2} A 1 (One.one.{u2} A (AddMonoidWithOne.toOne.{u2} A (AddGroupWithOne.toAddMonoidWithOne.{u2} A (AddCommGroupWithOne.toAddGroupWithOne.{u2} A (Ring.toAddCommGroupWithOne.{u2} A (CommRing.toRing.{u2} A _inst_8))))))))
+but is expected to have type
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f))) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f))) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f))) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f))) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f))) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f))) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f))) _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f))) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f))) (NonAssocRing.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f))) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f))) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) f))) _inst_8)))))
+Case conversion may be inaccurate. Consider using '#align linear_equiv.det_symm_mul_det LinearEquiv.det_symm_mul_detₓ'. -/
 /-- The determinants of a `linear_equiv` and its inverse multiply to 1. -/
 @[simp]
 theorem LinearEquiv.det_symm_mul_det {A : Type _} [CommRing A] [Module A M] (f : M ≃ₗ[A] M) :
     (f.symm : M →ₗ[A] M).det * (f : M →ₗ[A] M).det = 1 := by simp [← LinearMap.det_comp]
 #align linear_equiv.det_symm_mul_det LinearEquiv.det_symm_mul_det
 
+/- warning: linear_equiv.is_unit_det -> LinearEquiv.isUnit_det is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] {ι : Type.{u4}} [_inst_6 : DecidableEq.{succ u4} ι] [_inst_7 : Fintype.{u4} ι] (f : LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (v : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (v' : Basis.{u4, u1, u3} ι R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5), IsUnit.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Matrix.det.{u1, u4} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (coeFn.{max (succ (max u2 u3)) (succ (max u4 u1)), max (succ (max u2 u3)) (succ (max u4 u1))} (LinearEquiv.{u1, u1, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.toMatrix._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.toMatrix._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearMap.toMatrix._proof_3.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (_x : LinearEquiv.{u1, u1, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.toMatrix._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.toMatrix._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearMap.toMatrix._proof_3.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) -> (Matrix.{u4, u4, u1} ι ι R)) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u3, max u4 u1} R R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearMap.toMatrix._proof_3.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.toMatrix._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.toMatrix._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.toMatrix.{u1, u4, u4, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 v v') ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (coeBase.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u2, u3} R R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) f)))
+but is expected to have type
+  forall {R : Type.{u4}} [_inst_1 : CommRing.{u4} R] {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] {M' : Type.{u2}} [_inst_4 : AddCommGroup.{u2} M'] [_inst_5 : Module.{u4, u2} R M' (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] (f : LinearEquiv.{u4, u4, u3, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (v : Basis.{u1, u4, u3} ι R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (v' : Basis.{u1, u4, u2} ι R M' (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5), IsUnit.{u4} R (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (Matrix.det.{u4, u1} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), max (succ u3) (succ u2), max (succ u4) (succ u1)} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) => Matrix.{u1, u1, u4} ι ι R) _x) (SMulHomClass.toFunLike.{max (max (max u4 u3) u2) u1, u4, max u3 u2, max u4 u1} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (SMulZeroClass.toSMul.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toZero.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toAddZeroClass.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Module.toDistribMulAction.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))))))) (SMulZeroClass.toSMul.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (AddMonoid.toZero.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (AddMonoid.toAddZeroClass.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u4 u3) u2) u1, u4, max u3 u2, max u4 u1} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5))))) (Module.toDistribMulAction.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u4, max u3 u2, max u4 u1, max (max (max u4 u3) u2) u1} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, max u3 u2, max u4 u1, max (max (max u4 u3) u2) u1} R R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, max u3 u2, max u4 u1} R R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (LinearMap.toMatrix.{u4, u1, u1, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 v v') (LinearEquiv.toLinearMap.{u4, u4, u3, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 f)))
+Case conversion may be inaccurate. Consider using '#align linear_equiv.is_unit_det LinearEquiv.isUnit_detₓ'. -/
 -- Cannot be stated using `linear_map.det` because `f` is not an endomorphism.
 theorem LinearEquiv.isUnit_det (f : M ≃ₗ[R] M') (v : Basis ι R M) (v' : Basis ι R M') :
     IsUnit (LinearMap.toMatrix v v' f).det :=
@@ -446,18 +684,36 @@ theorem LinearEquiv.isUnit_det (f : M ≃ₗ[R] M') (v : Basis ι R M) (v' : Bas
   simpa using (LinearMap.toMatrix_comp v v' v f.symm f).symm
 #align linear_equiv.is_unit_det LinearEquiv.isUnit_det
 
+/- warning: linear_equiv.is_unit_det' -> LinearEquiv.isUnit_det' is a dubious translation:
+lean 3 declaration is
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), IsUnit.{u2} A (Ring.toMonoid.{u2} A (CommRing.toRing.{u2} A _inst_8)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) => (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (HasLiftT.mk.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CoeTCₓ.coe.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (coeBase.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) f))
+but is expected to have type
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), IsUnit.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (Ring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) _inst_8)))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHom.id.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) (RingHomInvPair.ids.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f))
+Case conversion may be inaccurate. Consider using '#align linear_equiv.is_unit_det' LinearEquiv.isUnit_det'ₓ'. -/
 /-- Specialization of `linear_equiv.is_unit_det` -/
 theorem LinearEquiv.isUnit_det' {A : Type _} [CommRing A] [Module A M] (f : M ≃ₗ[A] M) :
     IsUnit (LinearMap.det (f : M →ₗ[A] M)) :=
   isUnit_of_mul_eq_one _ _ f.det_mul_det_symm
 #align linear_equiv.is_unit_det' LinearEquiv.isUnit_det'
 
+/- warning: linear_equiv.det_coe_symm -> LinearEquiv.det_coe_symm is a dubious translation:
+lean 3 declaration is
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_8 : Field.{u2} 𝕜] [_inst_9 : Module.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} 𝕜 (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) => (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> 𝕜) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)) _inst_9) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (HasLiftT.mk.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CoeTCₓ.coe.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (coeBase.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))))))) (LinearEquiv.symm.{u2, u2, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) f))) (Inv.inv.{u2} 𝕜 (DivInvMonoid.toHasInv.{u2} 𝕜 (DivisionRing.toDivInvMonoid.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (fun (_x : MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) => (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> 𝕜) (MonoidHom.hasCoeToFun.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)) _inst_9) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (HasLiftT.mk.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (CoeTCₓ.coe.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (coeBase.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u2, u2, u1, u1} 𝕜 𝕜 M M (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (Ring.toSemiring.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8)))))))) f)))
+but is expected to have type
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {𝕜 : Type.{u2}} [_inst_8 : Field.{u2} 𝕜] [_inst_9 : Module.{u2, u1} 𝕜 M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearEquiv.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => 𝕜) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) f))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)) _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (LinearEquiv.symm.{u2, u2, u1, u1} 𝕜 𝕜 M M (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) f))) (Inv.inv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => 𝕜) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) (Field.toInv.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => 𝕜) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)) _inst_8) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => 𝕜) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} 𝕜 (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))) (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8))))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) 𝕜 (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} 𝕜 M (Ring.toSemiring.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (CommRing.toRing.{u2} 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)))))))))) (LinearMap.det.{u1, u2} M _inst_2 𝕜 (EuclideanDomain.toCommRing.{u2} 𝕜 (Field.toEuclideanDomain.{u2} 𝕜 _inst_8)) _inst_9) (LinearEquiv.toLinearMap.{u2, u2, u1, u1} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))) (RingHom.id.{u2} 𝕜 (NonAssocRing.toNonAssocSemiring.{u2} 𝕜 (Ring.toNonAssocRing.{u2} 𝕜 (DivisionRing.toRing.{u2} 𝕜 (Field.toDivisionRing.{u2} 𝕜 _inst_8))))) (RingHom.id.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u2} 𝕜 (DivisionSemiring.toSemiring.{u2} 𝕜 (Semifield.toDivisionSemiring.{u2} 𝕜 (Field.toSemifield.{u2} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 f)))
+Case conversion may be inaccurate. Consider using '#align linear_equiv.det_coe_symm LinearEquiv.det_coe_symmₓ'. -/
 /-- The determinant of `f.symm` is the inverse of that of `f` when `f` is a linear equiv. -/
 theorem LinearEquiv.det_coe_symm {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] (f : M ≃ₗ[𝕜] M) :
     (f.symm : M →ₗ[𝕜] M).det = (f : M →ₗ[𝕜] M).det⁻¹ := by
   field_simp [IsUnit.ne_zero f.is_unit_det']
 #align linear_equiv.det_coe_symm LinearEquiv.det_coe_symm
 
+/- warning: linear_equiv.of_is_unit_det -> LinearEquiv.ofIsUnitDet is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] {ι : Type.{u4}} [_inst_6 : DecidableEq.{succ u4} ι] [_inst_7 : Fintype.{u4} ι] {f : LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5} {v : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {v' : Basis.{u4, u1, u3} ι R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5}, (IsUnit.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Matrix.det.{u1, u4} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (coeFn.{max (succ (max u2 u3)) (succ (max u4 u1)), max (succ (max u2 u3)) (succ (max u4 u1))} (LinearEquiv.{u1, u1, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_1.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_2.{u1} R _inst_1) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearEquiv.ofIsUnitDet._proof_3.{u1, u3} R _inst_1 M' _inst_4 _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (_x : LinearEquiv.{u1, u1, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_1.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_2.{u1} R _inst_1) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearEquiv.ofIsUnitDet._proof_3.{u1, u3} R _inst_1 M' _inst_4 _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) -> (Matrix.{u4, u4, u1} ι ι R)) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u3, max u4 u1} R R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearEquiv.ofIsUnitDet._proof_3.{u1, u3} R _inst_1 M' _inst_4 _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_4.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_5.{u1} R _inst_1)) (LinearMap.toMatrix.{u1, u4, u4, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 v v') f))) -> (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_6.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_7.{u1} R _inst_1) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5)
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] {ι : Type.{u4}} [_inst_6 : DecidableEq.{succ u4} ι] [_inst_7 : Fintype.{u4} ι] {f : LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5} {v : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {v' : Basis.{u4, u1, u3} ι R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5}, (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Matrix.det.{u1, u4} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (FunLike.coe.{max (max (max (succ u1) (succ u2)) (succ u3)) (succ u4), max (succ u2) (succ u3), max (succ u1) (succ u4)} (LinearEquiv.{u1, u1, max u3 u2, max u1 u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) => Matrix.{u4, u4, u1} ι ι R) _x) (SMulHomClass.toFunLike.{max (max (max u1 u2) u3) u4, u1, max u2 u3, max u1 u4} (LinearEquiv.{u1, u1, max u3 u2, max u1 u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (SMulZeroClass.toSMul.{u1, max u2 u3} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toZero.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toAddZeroClass.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u3} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))))))) (SMulZeroClass.toSMul.{u1, max u1 u4} R (Matrix.{u4, u4, u1} ι ι R) (AddMonoid.toZero.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max u1 u4} R (Matrix.{u4, u4, u1} ι ι R) (AddMonoid.toAddZeroClass.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (AddCommMonoid.toAddMonoid.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max u1 u4} R (Matrix.{u4, u4, u1} ι ι R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u1 u4} R (Matrix.{u4, u4, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u1 u2) u3) u4, u1, max u2 u3, max u1 u4} (LinearEquiv.{u1, u1, max u3 u2, max u1 u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u1 u4} (Matrix.{u4, u4, u1} ι ι R) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u2 u3} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5))))) (Module.toDistribMulAction.{u1, max u1 u4} R (Matrix.{u4, u4, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u1, max u2 u3, max u1 u4, max (max (max u1 u2) u3) u4} R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearEquiv.{u1, u1, max u3 u2, max u1 u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u2 u3, max u1 u4, max (max (max u1 u2) u3) u4} R R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearEquiv.{u1, u1, max u3 u2, max u1 u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u2 u3, max u1 u4} R R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (smulCommClass_self.{u1, u3} R M' (CommSemiring.toCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u3} R M' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddMonoid.toZero.{u3} M' (AddCommMonoid.toAddMonoid.{u3} M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4))) (Module.toMulActionWithZero.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)))) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (LinearMap.toMatrix.{u1, u4, u4, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 v v') f))) -> (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5)
+Case conversion may be inaccurate. Consider using '#align linear_equiv.of_is_unit_det LinearEquiv.ofIsUnitDetₓ'. -/
 /-- Builds a linear equivalence from a linear map whose determinant in some bases is a unit. -/
 @[simps]
 def LinearEquiv.ofIsUnitDet {f : M →ₗ[R] M'} {v : Basis ι R M} {v' : Basis ι R M'}
@@ -482,6 +738,12 @@ def LinearEquiv.ofIsUnitDet {f : M →ₗ[R] M'} {v : Basis ι R M} {v' : Basis
       
 #align linear_equiv.of_is_unit_det LinearEquiv.ofIsUnitDet
 
+/- warning: linear_equiv.coe_of_is_unit_det -> LinearEquiv.coe_ofIsUnitDet is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] {ι : Type.{u4}} [_inst_6 : DecidableEq.{succ u4} ι] [_inst_7 : Fintype.{u4} ι] {f : LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5} {v : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {v' : Basis.{u4, u1, u3} ι R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5} (h : IsUnit.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Matrix.det.{u1, u4} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (coeFn.{max (succ (max u2 u3)) (succ (max u4 u1)), max (succ (max u2 u3)) (succ (max u4 u1))} (LinearEquiv.{u1, u1, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.toMatrix._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.toMatrix._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearMap.toMatrix._proof_3.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (_x : LinearEquiv.{u1, u1, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.toMatrix._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.toMatrix._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearMap.toMatrix._proof_3.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) -> (Matrix.{u4, u4, u1} ι ι R)) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u3, max u4 u1} R R (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (Matrix.{u4, u4, u1} ι ι R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.addCommMonoid.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u1, u4, u4} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (LinearMap.module.{u1, u1, u1, u2, u3} R R R M M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_5 (LinearMap.toMatrix._proof_3.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5)) (Matrix.module.{u1, u4, u4, u1} ι ι R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.toMatrix._proof_1.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (LinearMap.toMatrix._proof_2.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (LinearMap.toMatrix.{u1, u4, u4, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 v v') f))), Eq.{max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_6.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_7.{u1} R _inst_1) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_6.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_7.{u1} R _inst_1) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_6.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_7.{u1} R _inst_1) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (coeBase.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_6.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_7.{u1} R _inst_1) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u2, u3} R R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.ofIsUnitDet._proof_6.{u1} R _inst_1) (LinearEquiv.ofIsUnitDet._proof_7.{u1} R _inst_1))))) (LinearEquiv.ofIsUnitDet.{u1, u2, u3, u4} R _inst_1 M _inst_2 _inst_3 M' _inst_4 _inst_5 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 f v v' h)) f
+but is expected to have type
+  forall {R : Type.{u4}} [_inst_1 : CommRing.{u4} R] {M : Type.{u3}} [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] {M' : Type.{u2}} [_inst_4 : AddCommGroup.{u2} M'] [_inst_5 : Module.{u4, u2} R M' (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] {f : LinearMap.{u4, u4, u3, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5} {v : Basis.{u1, u4, u3} ι R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3} {v' : Basis.{u1, u4, u2} ι R M' (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5} (h : IsUnit.{u4} R (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (Matrix.det.{u4, u1} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), max (succ u3) (succ u2), max (succ u4) (succ u1)} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (fun (_x : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) => Matrix.{u1, u1, u4} ι ι R) _x) (SMulHomClass.toFunLike.{max (max (max u4 u3) u2) u1, u4, max u3 u2, max u4 u1} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (SMulZeroClass.toSMul.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toZero.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (DistribSMul.toSMulZeroClass.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddMonoid.toAddZeroClass.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Module.toDistribMulAction.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))))))) (SMulZeroClass.toSMul.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (AddMonoid.toZero.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (AddMonoid.toAddZeroClass.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u4 u3) u2) u1, u4, max u3 u2, max u4 u1} (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u4 u1} (Matrix.{u1, u1, u4} ι ι R) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u3 u2} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5))))) (Module.toDistribMulAction.{u4, max u4 u1} R (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u4, max u3 u2, max u4 u1, max (max (max u4 u3) u2) u1} R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, max u3 u2, max u4 u1, max (max (max u4 u3) u2) u1} R R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearEquiv.{u4, u4, max u2 u3, max u4 u1} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, max u3 u2, max u4 u1} R R (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (Matrix.{u1, u1, u4} ι ι R) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (LinearMap.addCommMonoid.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Matrix.addCommMonoid.{u4, u1, u1} ι ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u4, u4, u4, u3, u2} R R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) _inst_5 (smulCommClass_self.{u4, u2} R M' (CommSemiring.toCommMonoid.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (MulActionWithZero.toMulAction.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u2} M' (AddCommMonoid.toAddMonoid.{u2} M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_5)))) (Matrix.module.{u4, u1, u1, u4} ι ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (LinearMap.toMatrix.{u4, u1, u1, u3, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) ι ι _inst_7 _inst_7 (fun (a : ι) (b : ι) => _inst_6 a b) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 v v') f))), Eq.{max (succ u3) (succ u2)} (LinearMap.{u4, u4, u3, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5) (LinearEquiv.toLinearMap.{u4, u4, u3, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_3 _inst_5 (LinearEquiv.ofIsUnitDet.{u4, u3, u2, u1} R _inst_1 M _inst_2 _inst_3 M' _inst_4 _inst_5 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 f v v' h)) f
+Case conversion may be inaccurate. Consider using '#align linear_equiv.coe_of_is_unit_det LinearEquiv.coe_ofIsUnitDetₓ'. -/
 @[simp]
 theorem LinearEquiv.coe_ofIsUnitDet {f : M →ₗ[R] M'} {v : Basis ι R M} {v' : Basis ι R M'}
     (h : IsUnit (LinearMap.toMatrix v v' f).det) : (LinearEquiv.ofIsUnitDet h : M →ₗ[R] M') = f :=
@@ -490,6 +752,12 @@ theorem LinearEquiv.coe_ofIsUnitDet {f : M →ₗ[R] M'} {v : Basis ι R M} {v'
   rfl
 #align linear_equiv.coe_of_is_unit_det LinearEquiv.coe_ofIsUnitDet
 
+/- warning: linear_map.equiv_of_det_ne_zero -> LinearMap.equivOfDetNeZero is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} [_inst_8 : Field.{u1} 𝕜] {M : Type.{u2}} [_inst_9 : AddCommGroup.{u2} M] [_inst_10 : Module.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9)] [_inst_11 : FiniteDimensional.{u1, u2} 𝕜 M (Field.toDivisionRing.{u1} 𝕜 _inst_8) _inst_9 _inst_10] (f : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))) (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10), (Ne.{succ u1} 𝕜 (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) _inst_9 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) _inst_9 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) => (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) -> 𝕜) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) _inst_9 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) (LinearMap.det.{u2, u1} M _inst_9 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)) _inst_10) f) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))))))))))) -> (LinearEquiv.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))) (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))))) (LinearMap.equivOfDetNeZero._proof_1.{u1} 𝕜 _inst_8) (LinearMap.equivOfDetNeZero._proof_2.{u1} 𝕜 _inst_8) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10)
+but is expected to have type
+  forall {𝕜 : Type.{u1}} [_inst_8 : Field.{u1} 𝕜] {M : Type.{u2}} [_inst_9 : AddCommGroup.{u2} M] [_inst_10 : Module.{u1, u2} 𝕜 M (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9)] [_inst_11 : FiniteDimensional.{u1, u2} 𝕜 M (Field.toDivisionRing.{u1} 𝕜 _inst_8) _inst_9 _inst_10] (f : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10), (Ne.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) _inst_9 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (fun (_x : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) _inst_9 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulOneClass.toMul.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) _inst_9 _inst_10)))))) (MulOneClass.toMul.{u1} 𝕜 (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) _inst_9 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))) (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) _inst_9 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8))))))) (MonoidHom.monoidHomClass.{u2, u1} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) 𝕜 (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) (Module.End.ring.{u1, u2} 𝕜 M (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) _inst_9 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u1} 𝕜 (NonAssocSemiring.toMulZeroOneClass.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))))))) (LinearMap.det.{u2, u1} M _inst_9 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)) _inst_10) f) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) (CommMonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) (CommGroupWithZero.toCommMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) (Semifield.toCommGroupWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) (Field.toSemifield.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u1, u1, u2, u2} 𝕜 𝕜 (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (Ring.toSemiring.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (CommRing.toRing.{u1} 𝕜 (EuclideanDomain.toCommRing.{u1} 𝕜 (Field.toEuclideanDomain.{u1} 𝕜 _inst_8)))))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10) => 𝕜) f) _inst_8))))))) -> (LinearEquiv.{u1, u1, u2, u2} 𝕜 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))) (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))) (RingHom.id.{u1} 𝕜 (NonAssocRing.toNonAssocSemiring.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 _inst_8))))) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8))))) (RingHomInvPair.ids.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8)))) (RingHomInvPair.ids.{u1} 𝕜 (DivisionSemiring.toSemiring.{u1} 𝕜 (Semifield.toDivisionSemiring.{u1} 𝕜 (Field.toSemifield.{u1} 𝕜 _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) (AddCommGroup.toAddCommMonoid.{u2} M _inst_9) _inst_10 _inst_10)
+Case conversion may be inaccurate. Consider using '#align linear_map.equiv_of_det_ne_zero LinearMap.equivOfDetNeZeroₓ'. -/
 /-- Builds a linear equivalence from a linear map on a finite-dimensional vector space whose
 determinant is nonzero. -/
 @[reducible]
@@ -503,6 +771,12 @@ def LinearMap.equivOfDetNeZero {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCom
   LinearEquiv.ofIsUnitDet this
 #align linear_map.equiv_of_det_ne_zero LinearMap.equivOfDetNeZero
 
+/- warning: linear_map.associated_det_of_eq_comp -> LinearMap.associated_det_of_eq_comp is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (e : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (f : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (f' : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3), (forall (x : M), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f x) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f' (coeFn.{succ u2, succ u2} (LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearEquiv.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => M -> M) (LinearEquiv.hasCoeToFun.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) e x))) -> (Associated.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) f) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) f'))
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (e : LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (f : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (f' : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3), (forall (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) x) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) f x) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) f' (FunLike.coe.{succ u1, succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => M) _x) (SMulHomClass.toFunLike.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R M M (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (Module.toDistribMulAction.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribSMul.toSMulZeroClass.{u2, u1} R M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2))) (DistribMulAction.toDistribSMul.{u2, u1} R M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (Module.toDistribMulAction.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R M M (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (AddCommMonoid.toAddMonoid.{u1} M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)) (Module.toDistribMulAction.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Module.toDistribMulAction.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, u1, u1} R M M (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, u1, u1} R R M M (LinearEquiv.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, u1} R R M M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) e x))) -> (Associated.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (Ring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) f) _inst_1)))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3)))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) f) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3)))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) f'))
+Case conversion may be inaccurate. Consider using '#align linear_map.associated_det_of_eq_comp LinearMap.associated_det_of_eq_compₓ'. -/
 theorem LinearMap.associated_det_of_eq_comp (e : M ≃ₗ[R] M) (f f' : M →ₗ[R] M)
     (h : ∀ x, f x = f' (e x)) : Associated f.det f'.det :=
   by
@@ -515,6 +789,12 @@ theorem LinearMap.associated_det_of_eq_comp (e : M ≃ₗ[R] M) (f f' : M →ₗ
   exact Associated.mul_left _ (associated_one_iff_is_unit.mpr e.is_unit_det')
 #align linear_map.associated_det_of_eq_comp LinearMap.associated_det_of_eq_comp
 
+/- warning: linear_map.associated_det_comp_equiv -> LinearMap.associated_det_comp_equiv is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {N : Type.{u3}} [_inst_8 : AddCommGroup.{u3} N] [_inst_9 : Module.{u1, u3} R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8)] (f : LinearMap.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_9 _inst_3) (e : LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (e' : LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9), Associated.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) (LinearMap.comp.{u1, u1, u1, u2, u3, u2} R R R M N M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomCompTriple.ids.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (coeBase.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u2, u3} R R M N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) e))) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (fun (_x : MonoidHom.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) => (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) -> R) (MonoidHom.hasCoeToFun.{u2, u1} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (LinearMap.det.{u2, u1} M _inst_2 R _inst_1 _inst_3) (LinearMap.comp.{u1, u1, u1, u2, u3, u2} R R R M N M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomCompTriple.ids.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (coeBase.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearMap.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u2, u3} R R M N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) e')))
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {N : Type.{u3}} [_inst_8 : AddCommGroup.{u3} N] [_inst_9 : Module.{u2, u3} R N (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8)] (f : LinearMap.{u2, u2, u3, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) N M (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_3) (e : LinearEquiv.{u2, u2, u1, u3} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9) (e' : LinearEquiv.{u2, u2, u1, u3} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9), Associated.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) (Ring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) _inst_1)))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3)))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) => R) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3)))))) (MulOneClass.toMul.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) R (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (Module.End.ring.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_2 _inst_3))))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (LinearMap.det.{u1, u2} M _inst_2 R _inst_1 _inst_3) (LinearMap.comp.{u2, u2, u2, u1, u3, u1} R R R M N M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_9 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomCompTriple.ids.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) f (LinearEquiv.toLinearMap.{u2, u2, u1, u3} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHomInvPair.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) M N (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_8) _inst_3 _inst_9 e')))
+Case conversion may be inaccurate. Consider using '#align linear_map.associated_det_comp_equiv LinearMap.associated_det_comp_equivₓ'. -/
 theorem LinearMap.associated_det_comp_equiv {N : Type _} [AddCommGroup N] [Module R N]
     (f : N →ₗ[R] M) (e e' : M ≃ₗ[R] N) : Associated (f ∘ₗ ↑e).det (f ∘ₗ ↑e').det :=
   by
@@ -524,6 +804,7 @@ theorem LinearMap.associated_det_comp_equiv {N : Type _} [AddCommGroup N] [Modul
     LinearEquiv.apply_symm_apply]
 #align linear_map.associated_det_comp_equiv LinearMap.associated_det_comp_equiv
 
+#print Basis.det /-
 /-- The determinant of a family of vectors with respect to some basis, as an alternating
 multilinear map. -/
 def Basis.det : AlternatingMap R M R ι
@@ -546,14 +827,33 @@ def Basis.det : AlternatingMap R M R ι
     apply det_zero_of_row_eq hij
     rw [update_row_ne hij.symm, update_row_self]
 #align basis.det Basis.det
+-/
 
+/- warning: basis.det_apply -> Basis.det_apply is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (v : ι -> M), Eq.{succ u1} R (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v) (Matrix.det.{u1, u3} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (Basis.toMatrix.{u3, u3, u1, u2} ι ι R M (CommRing.toCommSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 e v))
+but is expected to have type
+  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] (e : Basis.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (v : ι -> M), Eq.{succ u3} R (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (AlternatingMap.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (Basis.det.{u3, u2, u1} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v) (Matrix.det.{u3, u1} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1 (Basis.toMatrix.{u1, u1, u3, u2} ι ι R M (CommRing.toCommSemiring.{u3} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 e v))
+Case conversion may be inaccurate. Consider using '#align basis.det_apply Basis.det_applyₓ'. -/
 theorem Basis.det_apply (v : ι → M) : e.det v = det (e.toMatrix v) :=
   rfl
 #align basis.det_apply Basis.det_apply
 
+/- warning: basis.det_self -> Basis.det_self is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3), Eq.{succ u1} R (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (fun (_x : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) e)) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))))))
+but is expected to have type
+  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] (e : Basis.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3), Eq.{succ u3} R (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (AlternatingMap.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (Basis.det.{u3, u2, u1} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) e)) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (NonAssocRing.toOne.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))
+Case conversion may be inaccurate. Consider using '#align basis.det_self Basis.det_selfₓ'. -/
 theorem Basis.det_self : e.det e = 1 := by simp [e.det_apply]
 #align basis.det_self Basis.det_self
 
+/- warning: basis.det_is_empty -> Basis.det_isEmpty is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) [_inst_8 : IsEmpty.{succ u3} ι], Eq.{max (succ u2) (succ u1) (succ u3)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (AlternatingMap.constOfIsEmpty.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι _inst_8 (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))))
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) [_inst_8 : IsEmpty.{succ u3} ι], Eq.{max (max (succ u2) (succ u1)) (succ u3)} (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (AlternatingMap.constOfIsEmpty.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι _inst_8 (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (NonAssocRing.toOne.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))))
+Case conversion may be inaccurate. Consider using '#align basis.det_is_empty Basis.det_isEmptyₓ'. -/
 @[simp]
 theorem Basis.det_isEmpty [IsEmpty ι] : e.det = AlternatingMap.constOfIsEmpty R M 1 :=
   by
@@ -561,10 +861,22 @@ theorem Basis.det_isEmpty [IsEmpty ι] : e.det = AlternatingMap.constOfIsEmpty R
   exact Matrix.det_isEmpty
 #align basis.det_is_empty Basis.det_isEmpty
 
+/- warning: basis.det_ne_zero -> Basis.det_ne_zero is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) [_inst_8 : Nontrivial.{u1} R], Ne.{max (succ u2) (succ u1) (succ u3)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (OfNat.ofNat.{max u2 u1 u3} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) 0 (OfNat.mk.{max u2 u1 u3} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) 0 (Zero.zero.{max u2 u1 u3} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (AlternatingMap.zero.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι))))
+but is expected to have type
+  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] (e : Basis.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) [_inst_8 : Nontrivial.{u3} R], Ne.{max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (Basis.det.{u3, u2, u1} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (OfNat.ofNat.{max (max u3 u2) u1} (AlternatingMap.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) 0 (Zero.toOfNat0.{max (max u3 u2) u1} (AlternatingMap.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (AlternatingMap.zero.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι)))
+Case conversion may be inaccurate. Consider using '#align basis.det_ne_zero Basis.det_ne_zeroₓ'. -/
 /-- `basis.det` is not the zero map. -/
 theorem Basis.det_ne_zero [Nontrivial R] : e.det ≠ 0 := fun h => by simpa [h] using e.det_self
 #align basis.det_ne_zero Basis.det_ne_zero
 
+/- warning: is_basis_iff_det -> is_basis_iff_det is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) {v : ι -> M}, Iff (And (LinearIndependent.{u3, u1, u2} ι R M v (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Eq.{succ u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (Set.range.{u2, succ u3} M ι v)) (Top.top.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (IsUnit.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v))
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) {v : ι -> M}, Iff (And (LinearIndependent.{u3, u2, u1} ι R M v (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Eq.{succ u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 (Set.range.{u1, succ u3} M ι v)) (Top.top.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.instTopSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)))) (IsUnit.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v))
+Case conversion may be inaccurate. Consider using '#align is_basis_iff_det is_basis_iff_detₓ'. -/
 theorem is_basis_iff_det {v : ι → M} :
     LinearIndependent R v ∧ span R (Set.range v) = ⊤ ↔ IsUnit (e.det v) :=
   by
@@ -585,10 +897,22 @@ theorem is_basis_iff_det {v : ι → M} :
     exact ⟨v'.linear_independent, v'.span_eq⟩
 #align is_basis_iff_det is_basis_iff_det
 
+/- warning: basis.is_unit_det -> Basis.isUnit_det is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (e' : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3), IsUnit.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (fun (_x : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) e'))
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (e' : Basis.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3), IsUnit.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) e'))
+Case conversion may be inaccurate. Consider using '#align basis.is_unit_det Basis.isUnit_detₓ'. -/
 theorem Basis.isUnit_det (e' : Basis ι R M) : IsUnit (e.det e') :=
   (is_basis_iff_det e).mp ⟨e'.LinearIndependent, e'.span_eq⟩
 #align basis.is_unit_det Basis.isUnit_det
 
+/- warning: alternating_map.eq_smul_basis_det -> AlternatingMap.eq_smul_basis_det is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (f : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι), Eq.{max (succ u2) (succ u1) (succ u3)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) f (SMul.smul.{u1, max u2 u1 u3} R (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (AlternatingMap.smul.{u1, u2, u1, u3, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Module.toDistribMulAction.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (smulCommClass_self.{u1, u1} R R (CommRing.toCommMonoid.{u1} R _inst_1) (Monoid.toMulAction.{u1} R (CommMonoid.toMonoid.{u1} R (CommRing.toCommMonoid.{u1} R _inst_1))))) (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) f (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (fun (_x : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) e)) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e))
+but is expected to have type
+  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] (e : Basis.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (f : AlternatingMap.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι), Eq.{max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) f (HSMul.hSMul.{u3, max (max u3 u2) u1, max (max u3 u2) u1} R (AlternatingMap.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (AlternatingMap.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (instHSMul.{u3, max (max u3 u2) u1} R (AlternatingMap.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (AlternatingMap.smul.{u3, u2, u3, u1, u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (smulCommClass_self.{u3, u3} R R (CommRing.toCommMonoid.{u3} R _inst_1) (MulActionWithZero.toMulAction.{u3, u3} R R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (AlternatingMap.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) f (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) e)) (Basis.det.{u3, u2, u1} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e))
+Case conversion may be inaccurate. Consider using '#align alternating_map.eq_smul_basis_det AlternatingMap.eq_smul_basis_detₓ'. -/
 /-- Any alternating map to `R` where `ι` has the cardinality of a basis equals the determinant
 map with respect to that basis, multiplied by the value of that alternating map on that basis. -/
 theorem AlternatingMap.eq_smul_basis_det (f : AlternatingMap R M R ι) : f = f e • e.det :=
@@ -599,6 +923,12 @@ theorem AlternatingMap.eq_smul_basis_det (f : AlternatingMap R M R ι) : f = f e
   simp [AlternatingMap.map_perm, Basis.det_self]
 #align alternating_map.eq_smul_basis_det AlternatingMap.eq_smul_basis_det
 
+/- warning: alternating_map.map_basis_eq_zero_iff -> AlternatingMap.map_basis_eq_zero_iff is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_8 : Finite.{succ u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (f : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι), Iff (Eq.{succ u1} R (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) f (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (fun (_x : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) e)) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))))) (Eq.{max (succ u2) (succ u1) (succ u3)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) f (OfNat.ofNat.{max u2 u1 u3} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) 0 (OfNat.mk.{max u2 u1 u3} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) 0 (Zero.zero.{max u2 u1 u3} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (AlternatingMap.zero.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι)))))
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_8 : Finite.{succ u3} ι] (e : Basis.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (f : AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι), Iff (Eq.{succ u2} R (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) f (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) e)) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Eq.{max (max (succ u2) (succ u1)) (succ u3)} (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) f (OfNat.ofNat.{max (max u2 u1) u3} (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) 0 (Zero.toOfNat0.{max (max u2 u1) u3} (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (AlternatingMap.zero.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι))))
+Case conversion may be inaccurate. Consider using '#align alternating_map.map_basis_eq_zero_iff AlternatingMap.map_basis_eq_zero_iffₓ'. -/
 @[simp]
 theorem AlternatingMap.map_basis_eq_zero_iff {ι : Type _} [Finite ι] (e : Basis ι R M)
     (f : AlternatingMap R M R ι) : f e = 0 ↔ f = 0 :=
@@ -608,6 +938,12 @@ theorem AlternatingMap.map_basis_eq_zero_iff {ι : Type _} [Finite ι] (e : Basi
     simpa [h] using f.eq_smul_basis_det e, fun h => h.symm ▸ AlternatingMap.zero_apply _⟩
 #align alternating_map.map_basis_eq_zero_iff AlternatingMap.map_basis_eq_zero_iff
 
+/- warning: alternating_map.map_basis_ne_zero_iff -> AlternatingMap.map_basis_ne_zero_iff is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_8 : Finite.{succ u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (f : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι), Iff (Ne.{succ u1} R (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) f (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (fun (_x : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) e)) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))))) (Ne.{max (succ u2) (succ u1) (succ u3)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) f (OfNat.ofNat.{max u2 u1 u3} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) 0 (OfNat.mk.{max u2 u1 u3} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) 0 (Zero.zero.{max u2 u1 u3} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (AlternatingMap.zero.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι)))))
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_8 : Finite.{succ u3} ι] (e : Basis.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (f : AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι), Iff (Ne.{succ u2} R (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) f (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), succ u3, succ u1} (Basis.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) e)) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Ne.{max (max (succ u2) (succ u1)) (succ u3)} (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) f (OfNat.ofNat.{max (max u2 u1) u3} (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) 0 (Zero.toOfNat0.{max (max u2 u1) u3} (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (AlternatingMap.zero.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι))))
+Case conversion may be inaccurate. Consider using '#align alternating_map.map_basis_ne_zero_iff AlternatingMap.map_basis_ne_zero_iffₓ'. -/
 theorem AlternatingMap.map_basis_ne_zero_iff {ι : Type _} [Finite ι] (e : Basis ι R M)
     (f : AlternatingMap R M R ι) : f e ≠ 0 ↔ f ≠ 0 :=
   not_congr <| f.map_basis_eq_zero_iff e
@@ -615,6 +951,12 @@ theorem AlternatingMap.map_basis_ne_zero_iff {ι : Type _} [Finite ι] (e : Basi
 
 variable {A : Type _} [CommRing A] [Module A M]
 
+/- warning: basis.det_comp -> Basis.det_comp is a dubious translation:
+lean 3 declaration is
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Module.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (e : Basis.{u2, u3, u1} ι A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (v : ι -> M), Eq.{succ u3} A (coeFn.{max (succ u1) (succ u3) (succ u2), max (max (succ u2) (succ u1)) (succ u3)} (AlternatingMap.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) (fun (_x : AlternatingMap.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) => (ι -> M) -> A) (AlternatingMap.coeFun.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) (Basis.det.{u3, u1, u2} A _inst_8 M _inst_2 _inst_9 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (Function.comp.{succ u2, succ u1, succ u1} ι M M (coeFn.{succ u1, succ u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => M -> M) (LinearMap.hasCoeToFun.{u3, u3, u1, u1} A A M M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))))) f) v)) (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (Ring.toDistrib.{u3} A (CommRing.toRing.{u3} A _inst_8)))) (coeFn.{max (succ u3) (succ u1), max (succ u1) (succ u3)} (MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (fun (_x : MonoidHom.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) => (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) -> A) (MonoidHom.hasCoeToFun.{u1, u3} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u3, u3, u1, u1} A A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) (RingHom.id.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u3, u1} A M (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u3} A (NonAssocSemiring.toMulZeroOneClass.{u3} A (NonAssocRing.toNonAssocSemiring.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8)))))) (LinearMap.det.{u1, u3} M _inst_2 A _inst_8 _inst_9) f) (coeFn.{max (succ u1) (succ u3) (succ u2), max (max (succ u2) (succ u1)) (succ u3)} (AlternatingMap.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) (fun (_x : AlternatingMap.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) => (ι -> M) -> A) (AlternatingMap.coeFun.{u3, u1, u3, u2} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))) ι) (Basis.det.{u3, u1, u2} A _inst_8 M _inst_2 _inst_9 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v))
+but is expected to have type
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Module.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (e : Basis.{u3, u2, u1} ι A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (f : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (v : ι -> M), Eq.{succ u2} A (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) ι) (ι -> M) (fun (_x : ι -> M) => A) (AlternatingMap.funLike.{u2, u1, u2, u3} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) ι) (Basis.det.{u2, u1, u3} A _inst_8 M _inst_2 _inst_9 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (Function.comp.{succ u3, succ u1, succ u1} ι M M (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} A A M M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9 (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) f) v)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) A ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) f) _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (fun (_x : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulOneClass.toMul.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9)))))) (MulOneClass.toMul.{u2} A (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, u2} (MonoidHom.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (MonoidHom.monoidHomClass.{u1, u2} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) A (MulZeroOneClass.toMulOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocSemiring.toMulZeroOneClass.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (NonAssocRing.toNonAssocSemiring.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Ring.toNonAssocRing.{u1} (LinearMap.{u2, u2, u1, u1} A A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) (RingHom.id.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 _inst_9) (Module.End.ring.{u2, u1} A M (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_2 _inst_9))))) (MulZeroOneClass.toMulOneClass.{u2} A (NonAssocSemiring.toMulZeroOneClass.{u2} A (NonAssocRing.toNonAssocSemiring.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))))) (LinearMap.det.{u1, u2} M _inst_2 A _inst_8 _inst_9) f) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) ι) (ι -> M) (fun (_x : ι -> M) => A) (AlternatingMap.funLike.{u2, u1, u2, u3} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8))) ι) (Basis.det.{u2, u1, u3} A _inst_8 M _inst_2 _inst_9 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v))
+Case conversion may be inaccurate. Consider using '#align basis.det_comp Basis.det_compₓ'. -/
 @[simp]
 theorem Basis.det_comp (e : Basis ι A M) (f : M →ₗ[A] M) (v : ι → M) :
     e.det (f ∘ v) = f.det * e.det v := by
@@ -623,6 +965,12 @@ theorem Basis.det_comp (e : Basis ι A M) (f : M →ₗ[A] M) (v : ι → M) :
     e.constr_comp]
 #align basis.det_comp Basis.det_comp
 
+/- warning: basis.det_comp_basis -> Basis.det_comp_basis is a dubious translation:
+lean 3 declaration is
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {M' : Type.{u2}} [_inst_4 : AddCommGroup.{u2} M'] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {A : Type.{u4}} [_inst_8 : CommRing.{u4} A] [_inst_9 : Module.{u4, u1} A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] [_inst_10 : Module.{u4, u2} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4)] (b : Basis.{u3, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (b' : Basis.{u3, u4, u2} ι A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10) (f : LinearMap.{u4, u4, u1, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_9 _inst_10), Eq.{succ u4} A (coeFn.{max (succ u2) (succ u4) (succ u3), max (max (succ u3) (succ u2)) (succ u4)} (AlternatingMap.{u4, u2, u4, u3} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 A (AddCommGroup.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toAddCommGroup.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) ι) (fun (_x : AlternatingMap.{u4, u2, u4, u3} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 A (AddCommGroup.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toAddCommGroup.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) ι) => (ι -> M') -> A) (AlternatingMap.coeFun.{u4, u2, u4, u3} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 A (AddCommGroup.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toAddCommGroup.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) ι) (Basis.det.{u4, u2, u3} A _inst_8 M' _inst_4 _inst_10 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b') (Function.comp.{succ u3, succ u1, succ u2} ι M M' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u4, u4, u1, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_9 _inst_10) (fun (_x : LinearMap.{u4, u4, u1, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_9 _inst_10) => M -> M') (LinearMap.hasCoeToFun.{u4, u4, u1, u2} A A M M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_9 _inst_10 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))))) f) (coeFn.{max (succ u3) (succ u4) (succ u1), max (succ u3) (succ u1)} (Basis.{u3, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (fun (_x : Basis.{u3, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) => ι -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u4) (succ u1), succ u3, succ u1} (Basis.{u3, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) ι (fun (_x : ι) => M) (Basis.funLike.{u3, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9)) b))) (coeFn.{max (succ u4) (succ u2), max (succ u2) (succ u4)} (MonoidHom.{u2, u4} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Module.End.ring.{u4, u2} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) _inst_4 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))))) (fun (_x : MonoidHom.{u2, u4} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Module.End.ring.{u4, u2} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) _inst_4 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))))) => (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) -> A) (MonoidHom.hasCoeToFun.{u2, u4} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Ring.toNonAssocRing.{u2} (LinearMap.{u4, u4, u2, u2} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_10) (Module.End.ring.{u4, u2} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) _inst_4 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))))) (LinearMap.det.{u2, u4} M' _inst_4 A _inst_8 _inst_10) (LinearMap.comp.{u4, u4, u4, u2, u1, u2} A A A M' M M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 _inst_9 _inst_10 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomCompTriple.ids.{u4, u4} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))))) f ((fun (a : Sort.{max (succ u2) (succ u1)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u2) (succ u1), max (succ u2) (succ u1)} a b] => self.0) (LinearEquiv.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (LinearMap.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (HasLiftT.mk.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (LinearMap.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (CoeTCₓ.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (LinearMap.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (coeBase.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearEquiv.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (LinearMap.{u4, u4, u2, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9) (LinearEquiv.LinearMap.hasCoe.{u4, u4, u2, u1} A A M' M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))))))) (Basis.equiv.{u3, u3, u4, u2, u1} ι ι A M' M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_4) _inst_10 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 b' b (Equiv.refl.{succ u3} ι)))))
+but is expected to have type
+  forall {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι] {A : Type.{u4}} [_inst_8 : CommRing.{u4} A] [_inst_9 : Module.{u4, u1} A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] [_inst_10 : Module.{u4, u3} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] (b : Basis.{u2, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) (b' : Basis.{u2, u4, u3} ι A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10) (f : LinearMap.{u4, u4, u1, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_9 _inst_10), Eq.{succ u4} A (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u2), max (succ u3) (succ u2), succ u4} (AlternatingMap.{u4, u3, u4, u2} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) ι) (ι -> M') (fun (_x : ι -> M') => A) (AlternatingMap.funLike.{u4, u3, u4, u2} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} A (NonAssocRing.toNonUnitalNonAssocRing.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (Semiring.toModule.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) ι) (Basis.det.{u4, u3, u2} A _inst_8 M' _inst_4 _inst_10 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b') (Function.comp.{succ u2, succ u1, succ u3} ι M M' (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u4, u4, u1, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M M' (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_9 _inst_10) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u1, u3} A A M M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_9 _inst_10 (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) f) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), succ u2, succ u1} (Basis.{u2, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u2, u4, u1} ι A M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9) b))) (FunLike.coe.{max (succ u4) (succ u3), succ u3, succ u4} (MonoidHom.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Ring.toNonAssocRing.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.ring.{u4, u3} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) _inst_4 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))))) (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (fun (_x : LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) => A) _x) (MulHomClass.toFunLike.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Ring.toNonAssocRing.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.ring.{u4, u3} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) _inst_4 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))))) (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulOneClass.toMul.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Ring.toNonAssocRing.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.ring.{u4, u3} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) _inst_4 _inst_10)))))) (MulOneClass.toMul.{u4} A (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))))) (MonoidHomClass.toMulHomClass.{max u4 u3, u3, u4} (MonoidHom.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Ring.toNonAssocRing.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.ring.{u4, u3} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) _inst_4 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))))) (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Ring.toNonAssocRing.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.ring.{u4, u3} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) _inst_4 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8))))) (MonoidHom.monoidHomClass.{u3, u4} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) A (MulZeroOneClass.toMulOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocSemiring.toMulZeroOneClass.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (NonAssocRing.toNonAssocSemiring.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Ring.toNonAssocRing.{u3} (LinearMap.{u4, u4, u3, u3} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))) M' M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_10) (Module.End.ring.{u4, u3} A M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) _inst_4 _inst_10))))) (MulZeroOneClass.toMulOneClass.{u4} A (NonAssocSemiring.toMulZeroOneClass.{u4} A (NonAssocRing.toNonAssocSemiring.{u4} A (Ring.toNonAssocRing.{u4} A (CommRing.toRing.{u4} A _inst_8)))))))) (LinearMap.det.{u3, u4} M' _inst_4 A _inst_8 _inst_10) (LinearMap.comp.{u4, u4, u4, u3, u1, u3} A A A M' M M' (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 _inst_9 _inst_10 (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomCompTriple.ids.{u4, u4} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))))) f (LinearEquiv.toLinearMap.{u4, u4, u3, u1} A A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHom.id.{u4} A (Semiring.toNonAssocSemiring.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) (RingHomInvPair.ids.{u4} A (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_10 _inst_9 (Basis.equiv.{u2, u2, u4, u3, u1} ι ι A M' M (Ring.toSemiring.{u4} A (CommRing.toRing.{u4} A _inst_8)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_10 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_9 b' b (Equiv.refl.{succ u2} ι)))))
+Case conversion may be inaccurate. Consider using '#align basis.det_comp_basis Basis.det_comp_basisₓ'. -/
 @[simp]
 theorem Basis.det_comp_basis [Module A M'] (b : Basis ι A M) (b' : Basis ι A M') (f : M →ₗ[A] M') :
     b'.det (f ∘ b) = LinearMap.det (f ∘ₗ (b'.Equiv b (Equiv.refl ι) : M' →ₗ[A] M)) :=
@@ -633,27 +981,57 @@ theorem Basis.det_comp_basis [Module A M'] (b : Basis ι A M) (b' : Basis ι A M
   rw [Basis.toMatrix_apply, LinearMap.toMatrix_apply]
 #align basis.det_comp_basis Basis.det_comp_basis
 
+/- warning: basis.det_reindex -> Basis.det_reindex is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {ι' : Type.{u4}} [_inst_10 : Fintype.{u4} ι'] [_inst_11 : DecidableEq.{succ u4} ι'] (b : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (v : ι' -> M) (e : Equiv.{succ u3, succ u4} ι ι'), Eq.{succ u1} R (coeFn.{max (succ u2) (succ u1) (succ u4), max (max (succ u4) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι') (fun (_x : AlternatingMap.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι') => (ι' -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι') (Basis.det.{u1, u2, u4} R _inst_1 M _inst_2 _inst_3 ι' (fun (a : ι') (b : ι') => _inst_11 a b) _inst_10 (Basis.reindex.{u3, u4, u1, u2} ι ι' R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 b e)) v) (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) (Function.comp.{succ u3, succ u4, succ u2} ι ι' M v (coeFn.{max 1 (max (succ u3) (succ u4)) (succ u4) (succ u3), max (succ u3) (succ u4)} (Equiv.{succ u3, succ u4} ι ι') (fun (_x : Equiv.{succ u3, succ u4} ι ι') => ι -> ι') (Equiv.hasCoeToFun.{succ u3, succ u4} ι ι') e)))
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {ι' : Type.{u4}} [_inst_10 : Fintype.{u4} ι'] [_inst_11 : DecidableEq.{succ u4} ι'] (b : Basis.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (v : ι' -> M) (e : Equiv.{succ u3, succ u4} ι ι'), Eq.{succ u2} R (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), max (succ u1) (succ u4), succ u2} (AlternatingMap.{u2, u1, u2, u4} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι') (ι' -> M) (fun (_x : ι' -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u4} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι') (Basis.det.{u2, u1, u4} R _inst_1 M _inst_2 _inst_3 ι' (fun (a : ι') (b : ι') => _inst_11 a b) _inst_10 (Basis.reindex.{u3, u4, u2, u1} ι ι' R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 b e)) v) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) (Function.comp.{succ u3, succ u4, succ u1} ι ι' M v (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (Equiv.{succ u3, succ u4} ι ι') ι (fun (_x : ι) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : ι) => ι') _x) (Equiv.instFunLikeEquiv.{succ u3, succ u4} ι ι') e)))
+Case conversion may be inaccurate. Consider using '#align basis.det_reindex Basis.det_reindexₓ'. -/
 theorem Basis.det_reindex {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (b : Basis ι R M) (v : ι' → M)
     (e : ι ≃ ι') : (b.reindex e).det v = b.det (v ∘ e) := by
   rw [Basis.det_apply, Basis.toMatrix_reindex', det_reindex_alg_equiv, Basis.det_apply]
 #align basis.det_reindex Basis.det_reindex
 
+/- warning: basis.det_reindex_symm -> Basis.det_reindex_symm is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {ι' : Type.{u4}} [_inst_10 : Fintype.{u4} ι'] [_inst_11 : DecidableEq.{succ u4} ι'] (b : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (v : ι -> M) (e : Equiv.{succ u4, succ u3} ι' ι), Eq.{succ u1} R (coeFn.{max (succ u2) (succ u1) (succ u4), max (max (succ u4) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι') (fun (_x : AlternatingMap.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι') => (ι' -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι') (Basis.det.{u1, u2, u4} R _inst_1 M _inst_2 _inst_3 ι' (fun (a : ι') (b : ι') => _inst_11 a b) _inst_10 (Basis.reindex.{u3, u4, u1, u2} ι ι' R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 b (Equiv.symm.{succ u4, succ u3} ι' ι e))) (Function.comp.{succ u4, succ u3, succ u2} ι' ι M v (coeFn.{max 1 (max (succ u4) (succ u3)) (succ u3) (succ u4), max (succ u4) (succ u3)} (Equiv.{succ u4, succ u3} ι' ι) (fun (_x : Equiv.{succ u4, succ u3} ι' ι) => ι' -> ι) (Equiv.hasCoeToFun.{succ u4, succ u3} ι' ι) e))) (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) v)
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] {ι' : Type.{u4}} [_inst_10 : Fintype.{u4} ι'] [_inst_11 : DecidableEq.{succ u4} ι'] (b : Basis.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (v : ι -> M) (e : Equiv.{succ u4, succ u3} ι' ι), Eq.{succ u2} R (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), max (succ u1) (succ u4), succ u2} (AlternatingMap.{u2, u1, u2, u4} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι') (ι' -> M) (fun (_x : ι' -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u4} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι') (Basis.det.{u2, u1, u4} R _inst_1 M _inst_2 _inst_3 ι' (fun (a : ι') (b : ι') => _inst_11 a b) _inst_10 (Basis.reindex.{u3, u4, u2, u1} ι ι' R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 b (Equiv.symm.{succ u4, succ u3} ι' ι e))) (Function.comp.{succ u4, succ u3, succ u1} ι' ι M v (FunLike.coe.{max (succ u3) (succ u4), succ u4, succ u3} (Equiv.{succ u4, succ u3} ι' ι) ι' (fun (_x : ι') => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : ι') => ι) _x) (Equiv.instFunLikeEquiv.{succ u4, succ u3} ι' ι) e))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) v)
+Case conversion may be inaccurate. Consider using '#align basis.det_reindex_symm Basis.det_reindex_symmₓ'. -/
 theorem Basis.det_reindex_symm {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (b : Basis ι R M)
     (v : ι → M) (e : ι' ≃ ι) : (b.reindex e.symm).det (v ∘ e) = b.det v := by
   rw [Basis.det_reindex, Function.comp.assoc, e.self_comp_symm, Function.comp.right_id]
 #align basis.det_reindex_symm Basis.det_reindex_symm
 
+/- warning: basis.det_map -> Basis.det_map is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] {ι : Type.{u4}} [_inst_6 : DecidableEq.{succ u4} ι] [_inst_7 : Fintype.{u4} ι] (b : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (f : LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5) (v : ι -> M'), Eq.{succ u1} R (coeFn.{max (succ u3) (succ u1) (succ u4), max (max (succ u4) (succ u3)) (succ u1)} (AlternatingMap.{u1, u3, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u3, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M') -> R) (AlternatingMap.coeFun.{u1, u3, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u3, u4} R _inst_1 M' _inst_4 _inst_5 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 (Basis.map.{u4, u1, u2, u3} ι R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 b f)) v) (coeFn.{max (succ u2) (succ u1) (succ u4), max (max (succ u4) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u4} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) (Function.comp.{succ u4, succ u3, succ u2} ι M' M (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (LinearEquiv.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (fun (_x : LinearEquiv.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) => M' -> M) (LinearEquiv.hasCoeToFun.{u1, u1, u3, u2} R R M' M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearEquiv.symm.{u1, u1, u2, u3} R R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f)) v))
+but is expected to have type
+  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u1}} [_inst_4 : AddCommGroup.{u1} M'] [_inst_5 : Module.{u3, u1} R M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4)] {ι : Type.{u4}} [_inst_6 : DecidableEq.{succ u4} ι] [_inst_7 : Fintype.{u4} ι] (b : Basis.{u4, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (f : LinearEquiv.{u3, u3, u2, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5) (v : ι -> M'), Eq.{succ u3} R (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u4), max (succ u1) (succ u4), succ u3} (AlternatingMap.{u3, u1, u3, u4} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (ι -> M') (fun (_x : ι -> M') => R) (AlternatingMap.funLike.{u3, u1, u3, u4} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (Basis.det.{u3, u1, u4} R _inst_1 M' _inst_4 _inst_5 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 (Basis.map.{u4, u3, u2, u1} ι R M M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 b f)) v) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u4), max (succ u2) (succ u4), succ u3} (AlternatingMap.{u3, u2, u3, u4} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u3, u2, u3, u4} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (Basis.det.{u3, u2, u4} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) (Function.comp.{succ u4, succ u1, succ u2} ι M' M (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (LinearEquiv.{u3, u3, u1, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) M' (fun (_x : M') => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M') => M) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u1, u2} (LinearEquiv.{u3, u3, u1, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) R M' M (SMulZeroClass.toSMul.{u3, u1} R M' (AddMonoid.toZero.{u1} M' (AddCommMonoid.toAddMonoid.{u1} M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4))) (DistribSMul.toSMulZeroClass.{u3, u1} R M' (AddMonoid.toAddZeroClass.{u1} M' (AddCommMonoid.toAddMonoid.{u1} M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4))) (DistribMulAction.toDistribSMul.{u3, u1} R M' (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4)) (Module.toDistribMulAction.{u3, u1} R M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5)))) (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2))) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Module.toDistribMulAction.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u1, u2} (LinearEquiv.{u3, u3, u1, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) R M' M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4)) (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)) (Module.toDistribMulAction.{u3, u1} R M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5) (Module.toDistribMulAction.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u3, u1, u2, max u2 u1} R M' M (LinearEquiv.{u3, u3, u1, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u1, u2, max u2 u1} R R M' M (LinearEquiv.{u3, u3, u1, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u1, u2} R R M' M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (LinearEquiv.symm.{u3, u3, u2, u1} R R M M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) f)) v))
+Case conversion may be inaccurate. Consider using '#align basis.det_map Basis.det_mapₓ'. -/
 @[simp]
 theorem Basis.det_map (b : Basis ι R M) (f : M ≃ₗ[R] M') (v : ι → M') :
     (b.map f).det v = b.det (f.symm ∘ v) := by
   rw [Basis.det_apply, Basis.toMatrix_map, Basis.det_apply]
 #align basis.det_map Basis.det_map
 
+/- warning: basis.det_map' -> Basis.det_map' is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u3}} [_inst_4 : AddCommGroup.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4)] {ι : Type.{u4}} [_inst_6 : DecidableEq.{succ u4} ι] [_inst_7 : Fintype.{u4} ι] (b : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (f : LinearEquiv.{u1, u1, u2, u3} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5), Eq.{max (succ u3) (succ u1) (succ u4)} (AlternatingMap.{u1, u3, u1, u4} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u3, u4} R _inst_1 M' _inst_4 _inst_5 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 (Basis.map.{u4, u1, u2, u3} ι R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 b f)) (AlternatingMap.compLinearMap.{u1, u2, u1, u4, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι M' (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_5 (Basis.det.{u1, u2, u4} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) ((fun (a : Sort.{max (succ u3) (succ u2)}) (b : Sort.{max (succ u3) (succ u2)}) [self : HasLiftT.{max (succ u3) (succ u2), max (succ u3) (succ u2)} a b] => self.0) (LinearEquiv.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (LinearMap.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (HasLiftT.mk.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (LinearEquiv.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (LinearMap.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (CoeTCₓ.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (LinearEquiv.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (LinearMap.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (coeBase.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (LinearEquiv.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (LinearMap.{u1, u1, u3, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M' M (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3) (LinearEquiv.LinearMap.hasCoe.{u1, u1, u3, u2} R R M' M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (LinearEquiv.symm.{u1, u1, u2, u3} R R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f)))
+but is expected to have type
+  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {M' : Type.{u1}} [_inst_4 : AddCommGroup.{u1} M'] [_inst_5 : Module.{u3, u1} R M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4)] {ι : Type.{u4}} [_inst_6 : DecidableEq.{succ u4} ι] [_inst_7 : Fintype.{u4} ι] (b : Basis.{u4, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (f : LinearEquiv.{u3, u3, u2, u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5), Eq.{max (max (succ u3) (succ u1)) (succ u4)} (AlternatingMap.{u3, u1, u3, u4} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (Basis.det.{u3, u1, u4} R _inst_1 M' _inst_4 _inst_5 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 (Basis.map.{u4, u3, u2, u1} ι R M M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 b f)) (AlternatingMap.compLinearMap.{u3, u2, u3, u4, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι M' (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_5 (Basis.det.{u3, u2, u4} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 b) (LinearEquiv.toLinearMap.{u3, u3, u1, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) M' M (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_5 _inst_3 (LinearEquiv.symm.{u3, u3, u2, u1} R R M M' (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_4) _inst_3 _inst_5 (RingHom.id.{u3} R (NonAssocRing.toNonAssocSemiring.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) f)))
+Case conversion may be inaccurate. Consider using '#align basis.det_map' Basis.det_map'ₓ'. -/
 theorem Basis.det_map' (b : Basis ι R M) (f : M ≃ₗ[R] M') :
     (b.map f).det = b.det.compLinearMap f.symm :=
   AlternatingMap.ext <| b.det_map f
 #align basis.det_map' Basis.det_map'
 
+/- warning: pi.basis_fun_det -> Pi.basisFun_det is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {ι : Type.{u2}} [_inst_6 : DecidableEq.{succ u2} ι] [_inst_7 : Fintype.{u2} ι], Eq.{max (succ (max u2 u1)) (succ u1) (succ u2)} (AlternatingMap.{u1, max u2 u1, u1, u2} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (j : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Pi.Function.module.{u2, u1, u1} ι R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, max u2 u1, u2} R _inst_1 (ι -> R) (Pi.addCommGroup.{u2, u1} ι (fun (j : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Pi.Function.module.{u2, u1, u1} ι R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 (Pi.basisFun.{u1, u2} R ι (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_7)) (Matrix.detRowAlternating.{u1, u2} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1)
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι], Eq.{max (succ u2) (succ u1)} (AlternatingMap.{u2, max u2 u1, u2, u1} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (ι -> R) (AddCommGroup.toAddCommMonoid.{max u2 u1} (ι -> R) (Pi.addCommGroup.{u1, u2} ι (fun (j : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (Pi.module.{u1, u2, u2} ι (fun (x._@.Mathlib.LinearAlgebra.StdBasis._hyg.3573 : ι) => R) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (Basis.det.{u2, max u2 u1, u1} R _inst_1 (ι -> R) (Pi.addCommGroup.{u1, u2} ι (fun (j : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Pi.module.{u1, u2, u2} ι (fun (x._@.Mathlib.LinearAlgebra.StdBasis._hyg.3573 : ι) => R) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 (Pi.basisFun.{u2, u1} R ι (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_7)) (Matrix.detRowAlternating.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 R _inst_1)
+Case conversion may be inaccurate. Consider using '#align pi.basis_fun_det Pi.basisFun_detₓ'. -/
 @[simp]
 theorem Pi.basisFun_det : (Pi.basisFun R ι).det = Matrix.detRowAlternating :=
   by
@@ -661,6 +1039,12 @@ theorem Pi.basisFun_det : (Pi.basisFun R ι).det = Matrix.detRowAlternating :=
   rw [Basis.det_apply, Basis.coePiBasisFun.toMatrix_eq_transpose, det_transpose]
 #align pi.basis_fun_det Pi.basisFun_det
 
+/- warning: basis.det_smul_mk_coord_eq_det_update -> Basis.det_smul_mk_coord_eq_det_update is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) {v : ι -> M} (hli : LinearIndependent.{u3, u1, u2} ι R M v (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (hsp : LE.le.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (Top.top.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.hasTop.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (Set.range.{u2, succ u3} M ι v))) (i : ι), Eq.{succ (max u2 u1)} (LinearMap.{u1, u1, u2, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M R (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_3 (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (SMul.smul.{u1, max u2 u1} R (LinearMap.{u1, u1, u2, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M R (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_3 (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearMap.hasSmul.{u1, u1, u1, u2, u1} R R R M R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) _inst_3 (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Module.toDistribMulAction.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (smulCommClass_self.{u1, u1} R R (CommRing.toCommMonoid.{u1} R _inst_1) (Monoid.toMulAction.{u1} R (CommMonoid.toMonoid.{u1} R (CommRing.toCommMonoid.{u1} R _inst_1))))) (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v) (Basis.coord.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (Basis.mk.{u3, u1, u2} ι R M v (CommRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 hli hsp) i)) (MultilinearMap.toLinearMap.{u1, u2, u1, u3} R ι (fun (i : ι) => M) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => _inst_3) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AlternatingMap.toMultilinearMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e)) (fun (a : ι) (b : ι) => _inst_6 a b) v i)
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) {v : ι -> M} (hli : LinearIndependent.{u3, u2, u1} ι R M v (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (hsp : LE.le.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Preorder.toLE.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.completeLattice.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (Top.top.{u1} (Submodule.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (Submodule.instTopSubmodule.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3)) (Submodule.span.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 (Set.range.{u1, succ u3} M ι v))) (i : ι), Eq.{max (succ u2) (succ u1)} (LinearMap.{u2, u2, u1, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M R (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _inst_3 (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (HSMul.hSMul.{u2, max u2 u1, max u2 u1} R (LinearMap.{u2, u2, u1, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M R (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _inst_3 (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (LinearMap.{u2, u2, u1, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M R (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _inst_3 (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (instHSMul.{u2, max u2 u1} R (LinearMap.{u2, u2, u1, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M R (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _inst_3 (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (LinearMap.instSMulLinearMap.{u2, u2, u2, u1, u2} R R R M R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) _inst_3 (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (smulCommClass_self.{u2, u2} R R (CommRing.toCommMonoid.{u2} R _inst_1) (MulActionWithZero.toMulAction.{u2, u2} R R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), succ u2} (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) v) (Basis.coord.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 (Basis.mk.{u3, u2, u1} ι R M v (CommRing.toRing.{u2} R _inst_1) _inst_2 _inst_3 hli hsp) i)) (MultilinearMap.toLinearMap.{u2, u1, u2, u3} R ι (fun (i : ι) => M) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (fun (i : ι) => _inst_3) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (AlternatingMap.toMultilinearMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e)) (fun (a : ι) (b : ι) => _inst_6 a b) v i)
+Case conversion may be inaccurate. Consider using '#align basis.det_smul_mk_coord_eq_det_update Basis.det_smul_mk_coord_eq_det_updateₓ'. -/
 /-- If we fix a background basis `e`, then for any other basis `v`, we can characterise the
 coordinates provided by `v` in terms of determinants relative to `e`. -/
 theorem Basis.det_smul_mk_coord_eq_det_update {v : ι → M} (hli : LinearIndependent R v)
@@ -678,6 +1062,12 @@ theorem Basis.det_smul_mk_coord_eq_det_update {v : ι → M} (hli : LinearIndepe
     exact e.det.map_eq_zero_of_eq _ (by simp [hik, Function.update_apply]) hik
 #align basis.det_smul_mk_coord_eq_det_update Basis.det_smul_mk_coord_eq_det_update
 
+/- warning: basis.det_units_smul -> Basis.det_unitsSMul is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (w : ι -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))), Eq.{max (succ u2) (succ u1) (succ u3)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 (Basis.unitsSMul.{u3, u1, u2} ι R M (CommRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 e w)) (SMul.smul.{u1, max u2 u1 u3} R (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (AlternatingMap.smul.{u1, u2, u1, u3, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Module.toDistribMulAction.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (smulCommClass_self.{u1, u1} R R (CommRing.toCommMonoid.{u1} R _inst_1) (Monoid.toMulAction.{u1} R (CommMonoid.toMonoid.{u1} R (CommRing.toCommMonoid.{u1} R _inst_1))))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (HasLiftT.mk.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (CoeTCₓ.coe.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (coeBase.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Units.hasCoe.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Inv.inv.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.hasInv.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Finset.prod.{u1, u3} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι (CommGroup.toCommMonoid.{u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.instCommGroupUnitsToMonoid.{u1} R (CommRing.toCommMonoid.{u1} R _inst_1))) (Finset.univ.{u3} ι _inst_7) (fun (i : ι) => w i)))) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e))
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {M : Type.{u1}} [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u2, u1} ι R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3) (w : ι -> (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))), Eq.{max (max (succ u2) (succ u1)) (succ u3)} (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 (Basis.unitsSMul.{u3, u2, u1} ι R M (CommRing.toRing.{u2} R _inst_1) _inst_2 _inst_3 e w)) (HSMul.hSMul.{u2, max (max u2 u1) u3, max (max u2 u1) u3} R (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (instHSMul.{u2, max (max u2 u1) u3} R (AlternatingMap.{u2, u1, u2, u3} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι) (AlternatingMap.smul.{u2, u1, u2, u3, u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ι R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (smulCommClass_self.{u2, u2} R R (CommRing.toCommMonoid.{u2} R _inst_1) (MulActionWithZero.toMulAction.{u2, u2} R R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (MonoidWithZero.toMulActionWithZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (Units.val.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (Inv.inv.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Units.instInv.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Finset.prod.{u2, u3} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) ι (CommGroup.toCommMonoid.{u2} (Units.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Units.instCommGroupUnitsToMonoid.{u2} R (CommRing.toCommMonoid.{u2} R _inst_1))) (Finset.univ.{u3} ι _inst_7) (fun (i : ι) => w i)))) (Basis.det.{u2, u1, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e))
+Case conversion may be inaccurate. Consider using '#align basis.det_units_smul Basis.det_unitsSMulₓ'. -/
 /-- If a basis is multiplied columnwise by scalars `w : ι → Rˣ`, then the determinant with respect
 to this basis is multiplied by the product of the inverse of these scalars. -/
 theorem Basis.det_unitsSMul (e : Basis ι R M) (w : ι → Rˣ) :
@@ -692,12 +1082,24 @@ theorem Basis.det_unitsSMul (e : Basis ι R M) (w : ι → Rˣ) :
   simp [← Finset.prod_inv_distrib]
 #align basis.det_units_smul Basis.det_unitsSMul
 
+/- warning: basis.det_units_smul_self -> Basis.det_unitsSMul_self is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (w : ι -> (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))), Eq.{succ u1} R (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (fun (_x : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (Basis.unitsSMul.{u3, u1, u2} ι R M (CommRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 e w))) (Finset.prod.{u1, u3} R ι (CommRing.toCommMonoid.{u1} R _inst_1) (Finset.univ.{u3} ι _inst_7) (fun (i : ι) => (fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (HasLiftT.mk.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (CoeTCₓ.coe.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (coeBase.{succ u1, succ u1} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Units.hasCoe.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (w i)))
+but is expected to have type
+  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] (e : Basis.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (w : ι -> (Units.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))))), Eq.{succ u3} R (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (AlternatingMap.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (Basis.det.{u3, u2, u1} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Basis.unitsSMul.{u1, u3, u2} ι R M (CommRing.toRing.{u3} R _inst_1) _inst_2 _inst_3 e w))) (Finset.prod.{u3, u1} R ι (CommRing.toCommMonoid.{u3} R _inst_1) (Finset.univ.{u1} ι _inst_7) (fun (i : ι) => Units.val.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (w i)))
+Case conversion may be inaccurate. Consider using '#align basis.det_units_smul_self Basis.det_unitsSMul_selfₓ'. -/
 /-- The determinant of a basis constructed by `units_smul` is the product of the given units. -/
 @[simp]
 theorem Basis.det_unitsSMul_self (w : ι → Rˣ) : e.det (e.units_smul w) = ∏ i, w i := by
   simp [Basis.det_apply]
 #align basis.det_units_smul_self Basis.det_unitsSMul_self
 
+/- warning: basis.det_is_unit_smul -> Basis.det_isUnitSMul is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u3}} [_inst_6 : DecidableEq.{succ u3} ι] [_inst_7 : Fintype.{u3} ι] (e : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) {w : ι -> R} (hw : forall (i : ι), IsUnit.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (w i)), Eq.{succ u1} R (coeFn.{max (succ u2) (succ u1) (succ u3), max (max (succ u3) (succ u2)) (succ u1)} (AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (fun (_x : AlternatingMap.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) => (ι -> M) -> R) (AlternatingMap.coeFun.{u1, u2, u1, u3} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) ι) (Basis.det.{u1, u2, u3} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (coeFn.{max (succ u3) (succ u1) (succ u2), max (succ u3) (succ u2)} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (fun (_x : Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u3) (succ u1) (succ u2), succ u3, succ u2} (Basis.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u3, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (Basis.isUnitSMul.{u3, u1, u2} ι R M (CommRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 e (fun (i : ι) => w i) hw))) (Finset.prod.{u1, u3} R ι (CommRing.toCommMonoid.{u1} R _inst_1) (Finset.univ.{u3} ι _inst_7) (fun (i : ι) => w i))
+but is expected to have type
+  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] {M : Type.{u2}} [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {ι : Type.{u1}} [_inst_6 : DecidableEq.{succ u1} ι] [_inst_7 : Fintype.{u1} ι] (e : Basis.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) {w : ι -> R} (hw : forall (i : ι), IsUnit.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (w i)), Eq.{succ u3} R (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (AlternatingMap.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (ι -> M) (fun (_x : ι -> M) => R) (AlternatingMap.funLike.{u3, u2, u3, u1} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) ι) (Basis.det.{u3, u2, u1} R _inst_1 M _inst_2 _inst_3 ι (fun (a : ι) (b : ι) => _inst_6 a b) _inst_7 e) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u1, succ u2} (Basis.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u1, u3, u2} ι R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Basis.isUnitSMul.{u1, u3, u2} ι R M (CommRing.toRing.{u3} R _inst_1) _inst_2 _inst_3 e (fun (i : ι) => w i) hw))) (Finset.prod.{u3, u1} R ι (CommRing.toCommMonoid.{u3} R _inst_1) (Finset.univ.{u1} ι _inst_7) (fun (i : ι) => w i))
+Case conversion may be inaccurate. Consider using '#align basis.det_is_unit_smul Basis.det_isUnitSMulₓ'. -/
 /-- The determinant of a basis constructed by `is_unit_smul` is the product of the given units. -/
 @[simp]
 theorem Basis.det_isUnitSMul {w : ι → R} (hw : ∀ i, IsUnit (w i)) :
Diff
@@ -658,7 +658,7 @@ theorem Basis.det_map' (b : Basis ι R M) (f : M ≃ₗ[R] M') :
 theorem Pi.basisFun_det : (Pi.basisFun R ι).det = Matrix.detRowAlternating :=
   by
   ext M
-  rw [Basis.det_apply, Basis.CoePiBasisFun.toMatrix_eq_transpose, det_transpose]
+  rw [Basis.det_apply, Basis.coePiBasisFun.toMatrix_eq_transpose, det_transpose]
 #align pi.basis_fun_det Pi.basisFun_det
 
 /-- If we fix a background basis `e`, then for any other basis `v`, we can characterise the
@@ -680,7 +680,7 @@ theorem Basis.det_smul_mk_coord_eq_det_update {v : ι → M} (hli : LinearIndepe
 
 /-- If a basis is multiplied columnwise by scalars `w : ι → Rˣ`, then the determinant with respect
 to this basis is multiplied by the product of the inverse of these scalars. -/
-theorem Basis.det_unitsSmul (e : Basis ι R M) (w : ι → Rˣ) :
+theorem Basis.det_unitsSMul (e : Basis ι R M) (w : ι → Rˣ) :
     (e.units_smul w).det = (↑(∏ i, w i)⁻¹ : R) • e.det :=
   by
   ext f
@@ -690,18 +690,18 @@ theorem Basis.det_unitsSmul (e : Basis ι R M) (w : ι → Rˣ) :
   simp only [e.repr_units_smul]
   convert Matrix.det_mul_column (fun i => (↑(w i)⁻¹ : R)) fun i j => e.repr (f j) i
   simp [← Finset.prod_inv_distrib]
-#align basis.det_units_smul Basis.det_unitsSmul
+#align basis.det_units_smul Basis.det_unitsSMul
 
 /-- The determinant of a basis constructed by `units_smul` is the product of the given units. -/
 @[simp]
-theorem Basis.det_unitsSmul_self (w : ι → Rˣ) : e.det (e.units_smul w) = ∏ i, w i := by
+theorem Basis.det_unitsSMul_self (w : ι → Rˣ) : e.det (e.units_smul w) = ∏ i, w i := by
   simp [Basis.det_apply]
-#align basis.det_units_smul_self Basis.det_unitsSmul_self
+#align basis.det_units_smul_self Basis.det_unitsSMul_self
 
 /-- The determinant of a basis constructed by `is_unit_smul` is the product of the given units. -/
 @[simp]
-theorem Basis.det_isUnitSmul {w : ι → R} (hw : ∀ i, IsUnit (w i)) :
-    e.det (e.isUnitSmul hw) = ∏ i, w i :=
-  e.det_unitsSmul_self _
-#align basis.det_is_unit_smul Basis.det_isUnitSmul
+theorem Basis.det_isUnitSMul {w : ι → R} (hw : ∀ i, IsUnit (w i)) :
+    e.det (e.isUnitSMul hw) = ∏ i, w i :=
+  e.det_unitsSMul_self _
+#align basis.det_is_unit_smul Basis.det_isUnitSMul
 
Diff
@@ -4,10 +4,11 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johannes Hölzl, Patrick Massot, Casper Putz, Anne Baanen
 
 ! This file was ported from Lean 3 source module linear_algebra.determinant
-! leanprover-community/mathlib commit ce11c3c2a285bbe6937e26d9792fda4e51f3fe1a
+! leanprover-community/mathlib commit b1c23399f01266afe392a0d8f71f599a0dad4f7b
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
+import Mathbin.LinearAlgebra.FiniteDimensional
 import Mathbin.LinearAlgebra.GeneralLinearGroup
 import Mathbin.LinearAlgebra.Matrix.Reindex
 import Mathbin.Tactic.FieldSimp
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johannes Hölzl, Patrick Massot, Casper Putz, Anne Baanen
 
 ! This file was ported from Lean 3 source module linear_algebra.determinant
-! leanprover-community/mathlib commit 2705404e701abc6b3127da906f40bae062a169c9
+! leanprover-community/mathlib commit ce11c3c2a285bbe6937e26d9792fda4e51f3fe1a
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -529,11 +529,13 @@ def Basis.det : AlternatingMap R M R ι
     where
   toFun v := det (e.toMatrix v)
   map_add' := by
-    intro v i x y
-    simp only [e.to_matrix_update, LinearEquiv.map_add]
-    apply det_update_column_add
+    intro inst v i x y
+    cases Subsingleton.elim inst ‹_›
+    simp only [e.to_matrix_update, LinearEquiv.map_add, Finsupp.coe_add]
+    exact det_update_column_add _ _ _ _
   map_smul' := by
-    intro u i c x
+    intro inst u i c x
+    cases Subsingleton.elim inst ‹_›
     simp only [e.to_matrix_update, Algebra.id.smul_eq_mul, LinearEquiv.map_smul]
     apply det_update_column_smul
   map_eq_zero_of_eq' := by
@@ -597,15 +599,16 @@ theorem AlternatingMap.eq_smul_basis_det (f : AlternatingMap R M R ι) : f = f e
 #align alternating_map.eq_smul_basis_det AlternatingMap.eq_smul_basis_det
 
 @[simp]
-theorem AlternatingMap.map_basis_eq_zero_iff {ι : Type _} [DecidableEq ι] [Finite ι]
-    (e : Basis ι R M) (f : AlternatingMap R M R ι) : f e = 0 ↔ f = 0 :=
+theorem AlternatingMap.map_basis_eq_zero_iff {ι : Type _} [Finite ι] (e : Basis ι R M)
+    (f : AlternatingMap R M R ι) : f e = 0 ↔ f = 0 :=
   ⟨fun h => by
     cases nonempty_fintype ι
+    letI := Classical.decEq ι
     simpa [h] using f.eq_smul_basis_det e, fun h => h.symm ▸ AlternatingMap.zero_apply _⟩
 #align alternating_map.map_basis_eq_zero_iff AlternatingMap.map_basis_eq_zero_iff
 
-theorem AlternatingMap.map_basis_ne_zero_iff {ι : Type _} [DecidableEq ι] [Finite ι]
-    (e : Basis ι R M) (f : AlternatingMap R M R ι) : f e ≠ 0 ↔ f ≠ 0 :=
+theorem AlternatingMap.map_basis_ne_zero_iff {ι : Type _} [Finite ι] (e : Basis ι R M)
+    (f : AlternatingMap R M R ι) : f e ≠ 0 ↔ f ≠ 0 :=
   not_congr <| f.map_basis_eq_zero_iff e
 #align alternating_map.map_basis_ne_zero_iff AlternatingMap.map_basis_ne_zero_iff
 
Diff
@@ -670,7 +670,7 @@ theorem Basis.det_smul_mk_coord_eq_det_update {v : ι → M} (hli : LinearIndepe
       MultilinearMap.toLinearMap_apply]
   · rw [Basis.mk_coord_apply_eq, mul_one, update_eq_self]
     congr
-  · rw [Basis.mk_coord_apply_ne hik, mul_zero, eq_comm]
+  · rw [Basis.mk_coord_apply_ne hik, MulZeroClass.mul_zero, eq_comm]
     exact e.det.map_eq_zero_of_eq _ (by simp [hik, Function.update_apply]) hik
 #align basis.det_smul_mk_coord_eq_det_update Basis.det_smul_mk_coord_eq_det_update
 
Diff
@@ -244,7 +244,7 @@ theorem det_toLin' (f : Matrix ι ι R) : LinearMap.det f.toLin' = f.det := by
 
 /-- To show `P f.det` it suffices to consider `P (to_matrix _ _ f).det` and `P 1`. -/
 @[elab_as_elim]
-theorem detCases [DecidableEq M] {P : A → Prop} (f : M →ₗ[A] M)
+theorem det_cases [DecidableEq M] {P : A → Prop} (f : M →ₗ[A] M)
     (hb : ∀ (s : Finset M) (b : Basis s A M), P (toMatrix b b f).det) (h1 : P 1) : P f.det :=
   by
   unfold LinearMap.det
@@ -252,7 +252,7 @@ theorem detCases [DecidableEq M] {P : A → Prop} (f : M →ₗ[A] M)
   · convert hb _ h.some_spec.some
     apply det_aux_def'
   · exact h1
-#align linear_map.det_cases LinearMap.detCases
+#align linear_map.det_cases LinearMap.det_cases
 
 @[simp]
 theorem det_comp (f g : M →ₗ[A] M) : (f.comp g).det = f.det * g.det :=
@@ -309,7 +309,7 @@ theorem det_eq_one_of_finrank_eq_zero {𝕜 : Type _} [Field 𝕜] {M : Type _}
     [Module 𝕜 M] (h : FiniteDimensional.finrank 𝕜 M = 0) (f : M →ₗ[𝕜] M) :
     (f : M →ₗ[𝕜] M).det = 1 := by
   classical
-    refine' @LinearMap.detCases M _ 𝕜 _ _ _ (fun t => t = 1) f _ rfl
+    refine' @LinearMap.det_cases M _ 𝕜 _ _ _ (fun t => t = 1) f _ rfl
     intro s b
     have : IsEmpty s := by
       rw [← Fintype.card_eq_zero_iff]

Changes in mathlib4

mathlib3
mathlib4
chore(LinearAlgebra): fix Fintype/Finite assumptions (#11565)

.. in equivOfPiLEquivPi, coePiBasisFun.toMatrix_eq_transpose, vecMul_surjective_iff_exists_left_inverse, and mulVec_surjective_iff_exists_right_inverse

Diff
@@ -55,15 +55,18 @@ variable (e : Basis ι R M)
 section Conjugate
 
 variable {A : Type*} [CommRing A]
-variable {m n : Type*} [Fintype m] [Fintype n]
+variable {m n : Type*}
 
 /-- If `R^m` and `R^n` are linearly equivalent, then `m` and `n` are also equivalent. -/
-def equivOfPiLEquivPi {R : Type*} [CommRing R] [Nontrivial R] (e : (m → R) ≃ₗ[R] n → R) : m ≃ n :=
+def equivOfPiLEquivPi {R : Type*} [Finite m] [Finite n] [CommRing R] [Nontrivial R]
+    (e : (m → R) ≃ₗ[R] n → R) : m ≃ n :=
   Basis.indexEquiv (Basis.ofEquivFun e.symm) (Pi.basisFun _ _)
 #align equiv_of_pi_lequiv_pi equivOfPiLEquivPi
 
 namespace Matrix
 
+variable [Fintype m] [Fintype n]
+
 /-- If `M` and `M'` are each other's inverse matrices, they are square matrices up to
 equivalence of types. -/
 def indexEquivOfInv [Nontrivial A] [DecidableEq m] [DecidableEq n] {M : Matrix m n A}
chore(*): remove empty lines between variable statements (#11418)

Empty lines were removed by executing the following Python script twice

import os
import re


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

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

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

      # Write the modified content back to the file
      with open(file_path, 'w') as file:
        file.write(modified_content)
Diff
@@ -47,19 +47,14 @@ open BigOperators Matrix LinearMap Submodule Set Function
 universe u v w
 
 variable {R : Type*} [CommRing R]
-
 variable {M : Type*} [AddCommGroup M] [Module R M]
-
 variable {M' : Type*} [AddCommGroup M'] [Module R M']
-
 variable {ι : Type*} [DecidableEq ι] [Fintype ι]
-
 variable (e : Basis ι R M)
 
 section Conjugate
 
 variable {A : Type*} [CommRing A]
-
 variable {m n : Type*} [Fintype m] [Fintype n]
 
 /-- If `R^m` and `R^n` are linearly equivalent, then `m` and `n` are also equivalent. -/
@@ -111,7 +106,6 @@ namespace LinearMap
 
 
 variable {A : Type*} [CommRing A] [Module A M]
-
 variable {κ : Type*} [Fintype κ]
 
 /-- The determinant of `LinearMap.toMatrix` does not depend on the choice of basis. -/
fix: denote alternating map by ⋀, not Λ (#11064)

That is, \bigwedge, not \Lambda

Co-authored-by: Richard Copley <rcopley@gmail.com> Co-authored-by: Patrick Massot <patrickmassot@free.fr>

Diff
@@ -504,7 +504,7 @@ theorem LinearMap.associated_det_comp_equiv {N : Type*} [AddCommGroup N] [Module
 
 /-- The determinant of a family of vectors with respect to some basis, as an alternating
 multilinear map. -/
-nonrec def Basis.det : M [Λ^ι]→ₗ[R] R where
+nonrec def Basis.det : M [⋀^ι]→ₗ[R] R where
   toFun v := det (e.toMatrix v)
   map_add' := by
     intro inst v i x y
@@ -570,7 +570,7 @@ theorem Basis.isUnit_det (e' : Basis ι R M) : IsUnit (e.det e') :=
 
 /-- Any alternating map to `R` where `ι` has the cardinality of a basis equals the determinant
 map with respect to that basis, multiplied by the value of that alternating map on that basis. -/
-theorem AlternatingMap.eq_smul_basis_det (f : M [Λ^ι]→ₗ[R] R) : f = f e • e.det := by
+theorem AlternatingMap.eq_smul_basis_det (f : M [⋀^ι]→ₗ[R] R) : f = f e • e.det := by
   refine' Basis.ext_alternating e fun i h => _
   let σ : Equiv.Perm ι := Equiv.ofBijective i (Finite.injective_iff_bijective.1 h)
   change f (e ∘ σ) = (f e • e.det) (e ∘ σ)
@@ -579,7 +579,7 @@ theorem AlternatingMap.eq_smul_basis_det (f : M [Λ^ι]→ₗ[R] R) : f = f e 
 
 @[simp]
 theorem AlternatingMap.map_basis_eq_zero_iff {ι : Type*} [Finite ι] (e : Basis ι R M)
-    (f : M [Λ^ι]→ₗ[R] R) : f e = 0 ↔ f = 0 :=
+    (f : M [⋀^ι]→ₗ[R] R) : f e = 0 ↔ f = 0 :=
   ⟨fun h => by
     cases nonempty_fintype ι
     letI := Classical.decEq ι
@@ -588,7 +588,7 @@ theorem AlternatingMap.map_basis_eq_zero_iff {ι : Type*} [Finite ι] (e : Basis
 #align alternating_map.map_basis_eq_zero_iff AlternatingMap.map_basis_eq_zero_iff
 
 theorem AlternatingMap.map_basis_ne_zero_iff {ι : Type*} [Finite ι] (e : Basis ι R M)
-    (f : M [Λ^ι]→ₗ[R] R) : f e ≠ 0 ↔ f ≠ 0 :=
+    (f : M [⋀^ι]→ₗ[R] R) : f e ≠ 0 ↔ f ≠ 0 :=
   not_congr <| f.map_basis_eq_zero_iff e
 #align alternating_map.map_basis_ne_zero_iff AlternatingMap.map_basis_ne_zero_iff
 
chore: prepare Lean version bump with explicit simp (#10999)

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

Diff
@@ -553,7 +553,7 @@ theorem is_basis_iff_det {v : ι → M} :
     rw [e.det_apply]
     convert LinearEquiv.isUnit_det (LinearEquiv.refl R M) v' e using 2
     ext i j
-    simp
+    simp [v']
   · intro h
     rw [Basis.det_apply, Basis.toMatrix_eq_toMatrix_constr] at h
     set v' := Basis.map e (LinearEquiv.ofIsUnitDet h) with v'_def
chore: classify was simp porting notes (#10746)

Classifies by adding issue number (#10745) to porting notes claiming was simp.

Diff
@@ -669,7 +669,8 @@ theorem Basis.det_unitsSMul (e : Basis ι R M) (w : ι → Rˣ) :
       (↑(∏ i, w i)⁻¹ : R) • Matrix.det fun i j => e.repr (f j) i
   simp only [e.repr_unitsSMul]
   convert Matrix.det_mul_column (fun i => (↑(w i)⁻¹ : R)) fun i j => e.repr (f j) i
-  simp only [← Finset.prod_inv_distrib] -- Porting note: was `simp [← Finset.prod_inv_distrib]`
+  -- porting note (#10745): was `simp [← Finset.prod_inv_distrib]`
+  simp only [← Finset.prod_inv_distrib]
   norm_cast
 #align basis.det_units_smul Basis.det_unitsSMul
 
chore(Function): rename some lemmas (#9738)
  • Merge Function.left_id and Function.comp.left_id into Function.id_comp.
  • Merge Function.right_id and Function.comp.right_id into Function.comp_id.
  • Merge Function.comp_const_right and Function.comp_const into Function.comp_const, use explicit arguments.
  • Move Function.const_comp to Mathlib.Init.Function, use explicit arguments.
Diff
@@ -623,7 +623,7 @@ theorem Basis.det_reindex' {ι' : Type*} [Fintype ι'] [DecidableEq ι'] (b : Ba
 
 theorem Basis.det_reindex_symm {ι' : Type*} [Fintype ι'] [DecidableEq ι'] (b : Basis ι R M)
     (v : ι → M) (e : ι' ≃ ι) : (b.reindex e.symm).det (v ∘ e) = b.det v := by
-  rw [Basis.det_reindex, Function.comp.assoc, e.self_comp_symm, Function.comp.right_id]
+  rw [Basis.det_reindex, Function.comp.assoc, e.self_comp_symm, Function.comp_id]
 #align basis.det_reindex_symm Basis.det_reindex_symm
 
 @[simp]
chore: introduce notation for AlternatingMap (#8697)

Use M [Λ^ι]→ₗ[R] N for AlternatingMap R M N ι, similarly to the existing notation M [Λ^ι]→L[R] N for ContinuousAlternatingMap R M N ι.

Diff
@@ -504,7 +504,7 @@ theorem LinearMap.associated_det_comp_equiv {N : Type*} [AddCommGroup N] [Module
 
 /-- The determinant of a family of vectors with respect to some basis, as an alternating
 multilinear map. -/
-nonrec def Basis.det : AlternatingMap R M R ι where
+nonrec def Basis.det : M [Λ^ι]→ₗ[R] R where
   toFun v := det (e.toMatrix v)
   map_add' := by
     intro inst v i x y
@@ -570,7 +570,7 @@ theorem Basis.isUnit_det (e' : Basis ι R M) : IsUnit (e.det e') :=
 
 /-- Any alternating map to `R` where `ι` has the cardinality of a basis equals the determinant
 map with respect to that basis, multiplied by the value of that alternating map on that basis. -/
-theorem AlternatingMap.eq_smul_basis_det (f : AlternatingMap R M R ι) : f = f e • e.det := by
+theorem AlternatingMap.eq_smul_basis_det (f : M [Λ^ι]→ₗ[R] R) : f = f e • e.det := by
   refine' Basis.ext_alternating e fun i h => _
   let σ : Equiv.Perm ι := Equiv.ofBijective i (Finite.injective_iff_bijective.1 h)
   change f (e ∘ σ) = (f e • e.det) (e ∘ σ)
@@ -579,7 +579,7 @@ theorem AlternatingMap.eq_smul_basis_det (f : AlternatingMap R M R ι) : f = f e
 
 @[simp]
 theorem AlternatingMap.map_basis_eq_zero_iff {ι : Type*} [Finite ι] (e : Basis ι R M)
-    (f : AlternatingMap R M R ι) : f e = 0 ↔ f = 0 :=
+    (f : M [Λ^ι]→ₗ[R] R) : f e = 0 ↔ f = 0 :=
   ⟨fun h => by
     cases nonempty_fintype ι
     letI := Classical.decEq ι
@@ -588,7 +588,7 @@ theorem AlternatingMap.map_basis_eq_zero_iff {ι : Type*} [Finite ι] (e : Basis
 #align alternating_map.map_basis_eq_zero_iff AlternatingMap.map_basis_eq_zero_iff
 
 theorem AlternatingMap.map_basis_ne_zero_iff {ι : Type*} [Finite ι] (e : Basis ι R M)
-    (f : AlternatingMap R M R ι) : f e ≠ 0 ↔ f ≠ 0 :=
+    (f : M [Λ^ι]→ₗ[R] R) : f e ≠ 0 ↔ f ≠ 0 :=
   not_congr <| f.map_basis_eq_zero_iff e
 #align alternating_map.map_basis_ne_zero_iff AlternatingMap.map_basis_ne_zero_iff
 
chore: bump to v4.3.0-rc2 (#8366)

PR contents

This is the supremum of

along with some minor fixes from failures on nightly-testing as Mathlib master is merged into it.

Note that some PRs for changes that are already compatible with the current toolchain and will be necessary have already been split out: #8380.

I am hopeful that in future we will be able to progressively merge adaptation PRs into a bump/v4.X.0 branch, so we never end up with a "big merge" like this. However one of these adaptation PRs (#8056) predates my new scheme for combined CI, and it wasn't possible to keep that PR viable in the meantime.

Lean PRs involved in this bump

In particular this includes adjustments for the Lean PRs

leanprover/lean4#2778

We can get rid of all the

local macro_rules | `($x ^ $y) => `(HPow.hPow $x $y) -- Porting note: See issue [lean4#2220](https://github.com/leanprover/lean4/pull/2220)

macros across Mathlib (and in any projects that want to write natural number powers of reals).

leanprover/lean4#2722

Changes the default behaviour of simp to (config := {decide := false}). This makes simp (and consequentially norm_num) less powerful, but also more consistent, and less likely to blow up in long failures. This requires a variety of changes: changing some previously by simp or norm_num to decide or rfl, or adding (config := {decide := true}).

leanprover/lean4#2783

This changed the behaviour of simp so that simp [f] will only unfold "fully applied" occurrences of f. The old behaviour can be recovered with simp (config := { unfoldPartialApp := true }). We may in future add a syntax for this, e.g. simp [!f]; please provide feedback! In the meantime, we have made the following changes:

  • switching to using explicit lemmas that have the intended level of application
  • (config := { unfoldPartialApp := true }) in some places, to recover the old behaviour
  • Using @[eqns] to manually adjust the equation lemmas for a particular definition, recovering the old behaviour just for that definition. See #8371, where we do this for Function.comp and Function.flip.

This change in Lean may require further changes down the line (e.g. adding the !f syntax, and/or upstreaming the special treatment for Function.comp and Function.flip, and/or removing this special treatment). Please keep an open and skeptical mind about these changes!

Co-authored-by: leanprover-community-mathlib4-bot <leanprover-community-mathlib4-bot@users.noreply.github.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Mauricio Collares <mauricio@collares.org>

Diff
@@ -322,7 +322,7 @@ theorem det_conj {N : Type*} [AddCommGroup N] [Module A N] (f : M →ₗ[A] M) (
         contrapose! H
         rcases H with ⟨s, ⟨b⟩⟩
         exact ⟨_, ⟨(b.map e.symm).reindexFinsetRange⟩⟩
-      simp only [coe_det, H, H', MonoidHom.one_apply, dif_neg]
+      simp only [coe_det, H, H', MonoidHom.one_apply, dif_neg, not_false_eq_true]
 #align linear_map.det_conj LinearMap.det_conj
 
 /-- If a linear map is invertible, so is its determinant. -/
style: cleanup by putting by on the same line as := (#8407)

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

Diff
@@ -419,8 +419,8 @@ theorem LinearEquiv.det_mul_det_symm {A : Type*} [CommRing A] [Module A M] (f :
 /-- The determinants of a `LinearEquiv` and its inverse multiply to 1. -/
 @[simp]
 theorem LinearEquiv.det_symm_mul_det {A : Type*} [CommRing A] [Module A M] (f : M ≃ₗ[A] M) :
-    LinearMap.det (f.symm : M →ₗ[A] M) * LinearMap.det (f : M →ₗ[A] M) = 1 :=
-  by simp [← LinearMap.det_comp]
+    LinearMap.det (f.symm : M →ₗ[A] M) * LinearMap.det (f : M →ₗ[A] M) = 1 := by
+  simp [← LinearMap.det_comp]
 #align linear_equiv.det_symm_mul_det LinearEquiv.det_symm_mul_det
 
 -- Cannot be stated using `LinearMap.det` because `f` is not an endomorphism.
feat(linear_algebra/orientation): add orientation.reindex (#6889)

This forward-ports leanprover-community/mathlib#19236

Diff
@@ -10,7 +10,7 @@ import Mathlib.Tactic.FieldSimp
 import Mathlib.LinearAlgebra.Matrix.NonsingularInverse
 import Mathlib.LinearAlgebra.Matrix.Basis
 
-#align_import linear_algebra.determinant from "leanprover-community/mathlib"@"bd65478311e4dfd41f48bf38c7e3b02fb75d0163"
+#align_import linear_algebra.determinant from "leanprover-community/mathlib"@"0c1d80f5a86b36c1db32e021e8d19ae7809d5b79"
 
 /-!
 # Determinant of families of vectors
@@ -616,6 +616,11 @@ theorem Basis.det_reindex {ι' : Type*} [Fintype ι'] [DecidableEq ι'] (b : Bas
   rw [Basis.det_apply, Basis.toMatrix_reindex', det_reindexAlgEquiv, Basis.det_apply]
 #align basis.det_reindex Basis.det_reindex
 
+theorem Basis.det_reindex' {ι' : Type*} [Fintype ι'] [DecidableEq ι'] (b : Basis ι R M)
+    (e : ι ≃ ι') : (b.reindex e).det = b.det.domDomCongr e :=
+  AlternatingMap.ext fun _ => Basis.det_reindex _ _ _
+#align basis.det_reindex' Basis.det_reindex'
+
 theorem Basis.det_reindex_symm {ι' : Type*} [Fintype ι'] [DecidableEq ι'] (b : Basis ι R M)
     (v : ι → M) (e : ι' ≃ ι) : (b.reindex e.symm).det (v ∘ e) = b.det v := by
   rw [Basis.det_reindex, Function.comp.assoc, e.self_comp_symm, Function.comp.right_id]
chore: drop MulZeroClass. in mul_zero/zero_mul (#6682)

Search&replace MulZeroClass.mul_zero -> mul_zero, MulZeroClass.zero_mul -> zero_mul.

These were introduced by Mathport, as the full name of mul_zero is actually MulZeroClass.mul_zero (it's exported with the short name).

Diff
@@ -650,7 +650,7 @@ theorem Basis.det_smul_mk_coord_eq_det_update {v : ι → M} (hli : LinearIndepe
       MultilinearMap.toLinearMap_apply]
   · rw [Basis.mk_coord_apply_eq, mul_one, update_eq_self]
     congr
-  · rw [Basis.mk_coord_apply_ne hik, MulZeroClass.mul_zero, eq_comm]
+  · rw [Basis.mk_coord_apply_ne hik, mul_zero, eq_comm]
     exact e.det.map_eq_zero_of_eq _ (by simp [hik, Function.update_apply]) hik
 #align basis.det_smul_mk_coord_eq_det_update Basis.det_smul_mk_coord_eq_det_update
 
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
@@ -72,18 +72,18 @@ namespace Matrix
 /-- If `M` and `M'` are each other's inverse matrices, they are square matrices up to
 equivalence of types. -/
 def indexEquivOfInv [Nontrivial A] [DecidableEq m] [DecidableEq n] {M : Matrix m n A}
-    {M' : Matrix n m A} (hMM' : M ⬝ M' = 1) (hM'M : M' ⬝ M = 1) : m ≃ n :=
+    {M' : Matrix n m A} (hMM' : M * M' = 1) (hM'M : M' * M = 1) : m ≃ n :=
   equivOfPiLEquivPi (toLin'OfInv hMM' hM'M)
 #align matrix.index_equiv_of_inv Matrix.indexEquivOfInv
 
-theorem det_comm [DecidableEq n] (M N : Matrix n n A) : det (M ⬝ N) = det (N ⬝ M) := by
+theorem det_comm [DecidableEq n] (M N : Matrix n n A) : det (M * N) = det (N * M) := by
   rw [det_mul, det_mul, mul_comm]
 #align matrix.det_comm Matrix.det_comm
 
 /-- If there exists a two-sided inverse `M'` for `M` (indexed differently),
-then `det (N ⬝ M) = det (M ⬝ N)`. -/
+then `det (N * M) = det (M * N)`. -/
 theorem det_comm' [DecidableEq m] [DecidableEq n] {M : Matrix n m A} {N : Matrix m n A}
-    {M' : Matrix m n A} (hMM' : M ⬝ M' = 1) (hM'M : M' ⬝ M = 1) : det (M ⬝ N) = det (N ⬝ M) := by
+    {M' : Matrix m n A} (hMM' : M * M' = 1) (hM'M : M' * M = 1) : det (M * N) = det (N * M) := by
   nontriviality A
   -- Although `m` and `n` are different a priori, we will show they have the same cardinality.
   -- This turns the problem into one for square matrices, which is easy.
@@ -92,12 +92,12 @@ theorem det_comm' [DecidableEq m] [DecidableEq n] {M : Matrix n m A} {N : Matrix
     submatrix_mul_equiv, Equiv.coe_refl, submatrix_id_id]
 #align matrix.det_comm' Matrix.det_comm'
 
-/-- If `M'` is a two-sided inverse for `M` (indexed differently), `det (M ⬝ N ⬝ M') = det N`.
+/-- If `M'` is a two-sided inverse for `M` (indexed differently), `det (M * N * M') = det N`.
 
 See `Matrix.det_conj` and `Matrix.det_conj'` for the case when `M' = M⁻¹` or vice versa. -/
 theorem det_conj_of_mul_eq_one [DecidableEq m] [DecidableEq n] {M : Matrix m n A}
-    {M' : Matrix n m A} {N : Matrix n n A} (hMM' : M ⬝ M' = 1) (hM'M : M' ⬝ M = 1) :
-    det (M ⬝ N ⬝ M') = det N := by
+    {M' : Matrix n m A} {N : Matrix n n A} (hMM' : M * M' = 1) (hM'M : M' * M = 1) :
+    det (M * N * M') = det N := by
   rw [← det_comm' hM'M hMM', ← Matrix.mul_assoc, hM'M, Matrix.one_mul]
 #align matrix.det_conj_of_mul_eq_one Matrix.det_conj_of_mul_eq_one
 
@@ -452,13 +452,13 @@ def LinearEquiv.ofIsUnitDet {f : M →ₗ[R] M'} {v : Basis ι R M} {v' : Basis
   invFun := toLin v' v (toMatrix v v' f)⁻¹
   left_inv x :=
     calc
-      toLin v' v (toMatrix v v' f)⁻¹ (f x) = toLin v v ((toMatrix v v' f)⁻¹ ⬝ toMatrix v v' f) x :=
+      toLin v' v (toMatrix v v' f)⁻¹ (f x) = toLin v v ((toMatrix v v' f)⁻¹ * toMatrix v v' f) x :=
         by rw [toLin_mul v v' v, toLin_toMatrix, LinearMap.comp_apply]
       _ = x := by simp [h]
   right_inv x :=
     calc
       f (toLin v' v (toMatrix v v' f)⁻¹ x) =
-          toLin v' v' (toMatrix v v' f ⬝ (toMatrix v v' f)⁻¹) x :=
+          toLin v' v' (toMatrix v v' f * (toMatrix v v' f)⁻¹) x :=
         by rw [toLin_mul v' v v', LinearMap.comp_apply, toLin_toMatrix v v']
       _ = x := by simp [h]
 #align linear_equiv.of_is_unit_det LinearEquiv.ofIsUnitDet
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
@@ -46,24 +46,24 @@ open BigOperators Matrix LinearMap Submodule Set Function
 
 universe u v w
 
-variable {R : Type _} [CommRing R]
+variable {R : Type*} [CommRing R]
 
-variable {M : Type _} [AddCommGroup M] [Module R M]
+variable {M : Type*} [AddCommGroup M] [Module R M]
 
-variable {M' : Type _} [AddCommGroup M'] [Module R M']
+variable {M' : Type*} [AddCommGroup M'] [Module R M']
 
-variable {ι : Type _} [DecidableEq ι] [Fintype ι]
+variable {ι : Type*} [DecidableEq ι] [Fintype ι]
 
 variable (e : Basis ι R M)
 
 section Conjugate
 
-variable {A : Type _} [CommRing A]
+variable {A : Type*} [CommRing A]
 
-variable {m n : Type _} [Fintype m] [Fintype n]
+variable {m n : Type*} [Fintype m] [Fintype n]
 
 /-- If `R^m` and `R^n` are linearly equivalent, then `m` and `n` are also equivalent. -/
-def equivOfPiLEquivPi {R : Type _} [CommRing R] [Nontrivial R] (e : (m → R) ≃ₗ[R] n → R) : m ≃ n :=
+def equivOfPiLEquivPi {R : Type*} [CommRing R] [Nontrivial R] (e : (m → R) ≃ₗ[R] n → R) : m ≃ n :=
   Basis.indexEquiv (Basis.ofEquivFun e.symm) (Pi.basisFun _ _)
 #align equiv_of_pi_lequiv_pi equivOfPiLEquivPi
 
@@ -110,9 +110,9 @@ namespace LinearMap
 /-! ### Determinant of a linear map -/
 
 
-variable {A : Type _} [CommRing A] [Module A M]
+variable {A : Type*} [CommRing A] [Module A M]
 
-variable {κ : Type _} [Fintype κ]
+variable {κ : Type*} [Fintype κ]
 
 /-- The determinant of `LinearMap.toMatrix` does not depend on the choice of basis. -/
 theorem det_toMatrix_eq_det_toMatrix [DecidableEq κ] (b : Basis ι A M) (c : Basis κ A M)
@@ -148,7 +148,7 @@ theorem detAux_def' (b : Basis ι A M) (f : M →ₗ[A] M) :
   rfl
 #align linear_map.det_aux_def LinearMap.detAux_def'
 
-theorem detAux_def'' {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (tb : Trunc <| Basis ι A M)
+theorem detAux_def'' {ι' : Type*} [Fintype ι'] [DecidableEq ι'] (tb : Trunc <| Basis ι A M)
     (b' : Basis ι' A M) (f : M →ₗ[A] M) :
     LinearMap.detAux tb f = Matrix.det (LinearMap.toMatrix b' b' f) := by
   induction tb using Trunc.induction_on with
@@ -214,7 +214,7 @@ theorem det_toMatrix (b : Basis ι A M) (f : M →ₗ[A] M) :
 #align linear_map.det_to_matrix LinearMap.det_toMatrix
 
 @[simp]
-theorem det_toMatrix' {ι : Type _} [Fintype ι] [DecidableEq ι] (f : (ι → A) →ₗ[A] ι → A) :
+theorem det_toMatrix' {ι : Type*} [Fintype ι] [DecidableEq ι] (f : (ι → A) →ₗ[A] ι → A) :
     Matrix.det (LinearMap.toMatrix' f) = LinearMap.det f := by simp [← toMatrix_eq_toMatrix']
 #align linear_map.det_to_matrix' LinearMap.det_toMatrix'
 
@@ -256,7 +256,7 @@ theorem det_id : LinearMap.det (LinearMap.id : M →ₗ[A] M) = 1 :=
 
 /-- Multiplying a map by a scalar `c` multiplies its determinant by `c ^ dim M`. -/
 @[simp]
-theorem det_smul {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCommGroup M] [Module 𝕜 M] (c : 𝕜)
+theorem det_smul {𝕜 : Type*} [Field 𝕜] {M : Type*} [AddCommGroup M] [Module 𝕜 M] (c : 𝕜)
     (f : M →ₗ[𝕜] M) :
     LinearMap.det (c • f) = c ^ FiniteDimensional.finrank 𝕜 M * LinearMap.det f := by
   by_cases H : ∃ s : Finset M, Nonempty (Basis s 𝕜 M)
@@ -270,7 +270,7 @@ theorem det_smul {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCommGroup M] [Mod
       simp [coe_det, H, this]
 #align linear_map.det_smul LinearMap.det_smul
 
-theorem det_zero' {ι : Type _} [Finite ι] [Nonempty ι] (b : Basis ι A M) :
+theorem det_zero' {ι : Type*} [Finite ι] [Nonempty ι] (b : Basis ι A M) :
     LinearMap.det (0 : M →ₗ[A] M) = 0 := by
   haveI := Classical.decEq ι
   cases nonempty_fintype ι
@@ -281,7 +281,7 @@ theorem det_zero' {ι : Type _} [Finite ι] [Nonempty ι] (b : Basis ι A M) :
 and `0` otherwise. We give a formula that also works in infinite dimension, where we define
 the determinant to be `1`. -/
 @[simp]
-theorem det_zero {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCommGroup M] [Module 𝕜 M] :
+theorem det_zero {𝕜 : Type*} [Field 𝕜] {M : Type*} [AddCommGroup M] [Module 𝕜 M] :
     LinearMap.det (0 : M →ₗ[𝕜] M) = (0 : 𝕜) ^ FiniteDimensional.finrank 𝕜 M := by
   simp only [← zero_smul 𝕜 (1 : M →ₗ[𝕜] M), det_smul, mul_one, MonoidHom.map_one]
 #align linear_map.det_zero LinearMap.det_zero
@@ -293,7 +293,7 @@ theorem det_eq_one_of_subsingleton [Subsingleton M] (f : M →ₗ[R] M) :
   exact Matrix.det_isEmpty
 #align linear_map.det_eq_one_of_subsingleton LinearMap.det_eq_one_of_subsingleton
 
-theorem det_eq_one_of_finrank_eq_zero {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCommGroup M]
+theorem det_eq_one_of_finrank_eq_zero {𝕜 : Type*} [Field 𝕜] {M : Type*} [AddCommGroup M]
     [Module 𝕜 M] (h : FiniteDimensional.finrank 𝕜 M = 0) (f : M →ₗ[𝕜] M) :
     LinearMap.det (f : M →ₗ[𝕜] M) = 1 := by
   classical
@@ -307,7 +307,7 @@ theorem det_eq_one_of_finrank_eq_zero {𝕜 : Type _} [Field 𝕜] {M : Type _}
 
 /-- Conjugating a linear map by a linear equiv does not change its determinant. -/
 @[simp]
-theorem det_conj {N : Type _} [AddCommGroup N] [Module A N] (f : M →ₗ[A] M) (e : M ≃ₗ[A] N) :
+theorem det_conj {N : Type*} [AddCommGroup N] [Module A N] (f : M →ₗ[A] M) (e : M ≃ₗ[A] N) :
     LinearMap.det ((e : M →ₗ[A] N) ∘ₗ f ∘ₗ (e.symm : N →ₗ[A] M)) = LinearMap.det f := by
   classical
     by_cases H : ∃ s : Finset M, Nonempty (Basis s A M)
@@ -326,7 +326,7 @@ theorem det_conj {N : Type _} [AddCommGroup N] [Module A N] (f : M →ₗ[A] M)
 #align linear_map.det_conj LinearMap.det_conj
 
 /-- If a linear map is invertible, so is its determinant. -/
-theorem isUnit_det {A : Type _} [CommRing A] [Module A M] (f : M →ₗ[A] M) (hf : IsUnit f) :
+theorem isUnit_det {A : Type*} [CommRing A] [Module A M] (f : M →ₗ[A] M) (hf : IsUnit f) :
     IsUnit (LinearMap.det f) := by
   obtain ⟨g, hg⟩ : ∃ g, f.comp g = 1 := hf.exists_right_inv
   have : LinearMap.det f * LinearMap.det g = 1 := by
@@ -335,7 +335,7 @@ theorem isUnit_det {A : Type _} [CommRing A] [Module A M] (f : M →ₗ[A] M) (h
 #align linear_map.is_unit_det LinearMap.isUnit_det
 
 /-- If a linear map has determinant different from `1`, then the space is finite-dimensional. -/
-theorem finiteDimensional_of_det_ne_one {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] (f : M →ₗ[𝕜] M)
+theorem finiteDimensional_of_det_ne_one {𝕜 : Type*} [Field 𝕜] [Module 𝕜 M] (f : M →ₗ[𝕜] M)
     (hf : LinearMap.det f ≠ 1) : FiniteDimensional 𝕜 M := by
   by_cases H : ∃ s : Finset M, Nonempty (Basis s 𝕜 M)
   · rcases H with ⟨s, ⟨hs⟩⟩
@@ -344,7 +344,7 @@ theorem finiteDimensional_of_det_ne_one {𝕜 : Type _} [Field 𝕜] [Module 
 #align linear_map.finite_dimensional_of_det_ne_one LinearMap.finiteDimensional_of_det_ne_one
 
 /-- If the determinant of a map vanishes, then the map is not onto. -/
-theorem range_lt_top_of_det_eq_zero {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] {f : M →ₗ[𝕜] M}
+theorem range_lt_top_of_det_eq_zero {𝕜 : Type*} [Field 𝕜] [Module 𝕜 M] {f : M →ₗ[𝕜] M}
     (hf : LinearMap.det f = 0) : LinearMap.range f < ⊤ := by
   have : FiniteDimensional 𝕜 M := by simp [f.finiteDimensional_of_det_ne_one, hf]
   contrapose hf
@@ -353,7 +353,7 @@ theorem range_lt_top_of_det_eq_zero {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M]
 #align linear_map.range_lt_top_of_det_eq_zero LinearMap.range_lt_top_of_det_eq_zero
 
 /-- If the determinant of a map vanishes, then the map is not injective. -/
-theorem bot_lt_ker_of_det_eq_zero {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] {f : M →ₗ[𝕜] M}
+theorem bot_lt_ker_of_det_eq_zero {𝕜 : Type*} [Field 𝕜] [Module 𝕜 M] {f : M →ₗ[𝕜] M}
     (hf : LinearMap.det f = 0) : ⊥ < LinearMap.ker f := by
   have : FiniteDimensional 𝕜 M := by simp [f.finiteDimensional_of_det_ne_one, hf]
   contrapose hf
@@ -411,14 +411,14 @@ end LinearEquiv
 
 /-- The determinants of a `LinearEquiv` and its inverse multiply to 1. -/
 @[simp]
-theorem LinearEquiv.det_mul_det_symm {A : Type _} [CommRing A] [Module A M] (f : M ≃ₗ[A] M) :
+theorem LinearEquiv.det_mul_det_symm {A : Type*} [CommRing A] [Module A M] (f : M ≃ₗ[A] M) :
     LinearMap.det (f : M →ₗ[A] M) * LinearMap.det (f.symm : M →ₗ[A] M) = 1 := by
   simp [← LinearMap.det_comp]
 #align linear_equiv.det_mul_det_symm LinearEquiv.det_mul_det_symm
 
 /-- The determinants of a `LinearEquiv` and its inverse multiply to 1. -/
 @[simp]
-theorem LinearEquiv.det_symm_mul_det {A : Type _} [CommRing A] [Module A M] (f : M ≃ₗ[A] M) :
+theorem LinearEquiv.det_symm_mul_det {A : Type*} [CommRing A] [Module A M] (f : M ≃ₗ[A] M) :
     LinearMap.det (f.symm : M →ₗ[A] M) * LinearMap.det (f : M →ₗ[A] M) = 1 :=
   by simp [← LinearMap.det_comp]
 #align linear_equiv.det_symm_mul_det LinearEquiv.det_symm_mul_det
@@ -431,13 +431,13 @@ theorem LinearEquiv.isUnit_det (f : M ≃ₗ[R] M') (v : Basis ι R M) (v' : Bas
 #align linear_equiv.is_unit_det LinearEquiv.isUnit_det
 
 /-- Specialization of `LinearEquiv.isUnit_det` -/
-theorem LinearEquiv.isUnit_det' {A : Type _} [CommRing A] [Module A M] (f : M ≃ₗ[A] M) :
+theorem LinearEquiv.isUnit_det' {A : Type*} [CommRing A] [Module A M] (f : M ≃ₗ[A] M) :
     IsUnit (LinearMap.det (f : M →ₗ[A] M)) :=
   isUnit_of_mul_eq_one _ _ f.det_mul_det_symm
 #align linear_equiv.is_unit_det' LinearEquiv.isUnit_det'
 
 /-- The determinant of `f.symm` is the inverse of that of `f` when `f` is a linear equiv. -/
-theorem LinearEquiv.det_coe_symm {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] (f : M ≃ₗ[𝕜] M) :
+theorem LinearEquiv.det_coe_symm {𝕜 : Type*} [Field 𝕜] [Module 𝕜 M] (f : M ≃ₗ[𝕜] M) :
     LinearMap.det (f.symm : M →ₗ[𝕜] M) = (LinearMap.det (f : M →ₗ[𝕜] M))⁻¹ := by
   field_simp [IsUnit.ne_zero f.isUnit_det']
 #align linear_equiv.det_coe_symm LinearEquiv.det_coe_symm
@@ -474,7 +474,7 @@ theorem LinearEquiv.coe_ofIsUnitDet {f : M →ₗ[R] M'} {v : Basis ι R M} {v'
 /-- Builds a linear equivalence from a linear map on a finite-dimensional vector space whose
 determinant is nonzero. -/
 @[reducible]
-def LinearMap.equivOfDetNeZero {𝕜 : Type _} [Field 𝕜] {M : Type _} [AddCommGroup M] [Module 𝕜 M]
+def LinearMap.equivOfDetNeZero {𝕜 : Type*} [Field 𝕜] {M : Type*} [AddCommGroup M] [Module 𝕜 M]
     [FiniteDimensional 𝕜 M] (f : M →ₗ[𝕜] M) (hf : LinearMap.det f ≠ 0) : M ≃ₗ[𝕜] M :=
   have : IsUnit (LinearMap.toMatrix (FiniteDimensional.finBasis 𝕜 M)
       (FiniteDimensional.finBasis 𝕜 M) f).det := by
@@ -493,7 +493,7 @@ theorem LinearMap.associated_det_of_eq_comp (e : M ≃ₗ[R] M) (f f' : M →ₗ
   exact Associated.mul_left _ (associated_one_iff_isUnit.mpr e.isUnit_det')
 #align linear_map.associated_det_of_eq_comp LinearMap.associated_det_of_eq_comp
 
-theorem LinearMap.associated_det_comp_equiv {N : Type _} [AddCommGroup N] [Module R N]
+theorem LinearMap.associated_det_comp_equiv {N : Type*} [AddCommGroup N] [Module R N]
     (f : N →ₗ[R] M) (e e' : M ≃ₗ[R] N) :
     Associated (LinearMap.det (f ∘ₗ ↑e)) (LinearMap.det (f ∘ₗ ↑e')) := by
   refine' LinearMap.associated_det_of_eq_comp (e.trans e'.symm) _ _ _
@@ -578,7 +578,7 @@ theorem AlternatingMap.eq_smul_basis_det (f : AlternatingMap R M R ι) : f = f e
 #align alternating_map.eq_smul_basis_det AlternatingMap.eq_smul_basis_det
 
 @[simp]
-theorem AlternatingMap.map_basis_eq_zero_iff {ι : Type _} [Finite ι] (e : Basis ι R M)
+theorem AlternatingMap.map_basis_eq_zero_iff {ι : Type*} [Finite ι] (e : Basis ι R M)
     (f : AlternatingMap R M R ι) : f e = 0 ↔ f = 0 :=
   ⟨fun h => by
     cases nonempty_fintype ι
@@ -587,12 +587,12 @@ theorem AlternatingMap.map_basis_eq_zero_iff {ι : Type _} [Finite ι] (e : Basi
    fun h => h.symm ▸ AlternatingMap.zero_apply _⟩
 #align alternating_map.map_basis_eq_zero_iff AlternatingMap.map_basis_eq_zero_iff
 
-theorem AlternatingMap.map_basis_ne_zero_iff {ι : Type _} [Finite ι] (e : Basis ι R M)
+theorem AlternatingMap.map_basis_ne_zero_iff {ι : Type*} [Finite ι] (e : Basis ι R M)
     (f : AlternatingMap R M R ι) : f e ≠ 0 ↔ f ≠ 0 :=
   not_congr <| f.map_basis_eq_zero_iff e
 #align alternating_map.map_basis_ne_zero_iff AlternatingMap.map_basis_ne_zero_iff
 
-variable {A : Type _} [CommRing A] [Module A M]
+variable {A : Type*} [CommRing A] [Module A M]
 
 @[simp]
 theorem Basis.det_comp (e : Basis ι A M) (f : M →ₗ[A] M) (v : ι → M) :
@@ -611,12 +611,12 @@ theorem Basis.det_comp_basis [Module A M'] (b : Basis ι A M) (b' : Basis ι A M
   rw [Basis.toMatrix_apply, LinearMap.toMatrix_apply, Function.comp_apply]
 #align basis.det_comp_basis Basis.det_comp_basis
 
-theorem Basis.det_reindex {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (b : Basis ι R M) (v : ι' → M)
+theorem Basis.det_reindex {ι' : Type*} [Fintype ι'] [DecidableEq ι'] (b : Basis ι R M) (v : ι' → M)
     (e : ι ≃ ι') : (b.reindex e).det v = b.det (v ∘ e) := by
   rw [Basis.det_apply, Basis.toMatrix_reindex', det_reindexAlgEquiv, Basis.det_apply]
 #align basis.det_reindex Basis.det_reindex
 
-theorem Basis.det_reindex_symm {ι' : Type _} [Fintype ι'] [DecidableEq ι'] (b : Basis ι R M)
+theorem Basis.det_reindex_symm {ι' : Type*} [Fintype ι'] [DecidableEq ι'] (b : Basis ι R M)
     (v : ι → M) (e : ι' ≃ ι) : (b.reindex e.symm).det (v ∘ e) = b.det v := by
   rw [Basis.det_reindex, Function.comp.assoc, e.self_comp_symm, Function.comp.right_id]
 #align basis.det_reindex_symm Basis.det_reindex_symm
chore(LinearAlgebra): remove open Classical (#6320)

This uncovers a few situations where a lemma was stated with the wrong decidability assumption. The corrected lemmas are strictly more syntactically-general.

This is exhaustive in the LinearAlgebra folder.

Where removal is impractical, this switches to open Classical in to make the intent clear.

Diff
@@ -168,8 +168,7 @@ theorem detAux_comp (b : Trunc <| Basis ι A M) (f g : M →ₗ[A] M) :
 
 section
 
-open Classical
-
+open scoped Classical in
 -- Discourage the elaborator from unfolding `det` and producing a huge term by marking it
 -- as irreducible.
 /-- The determinant of an endomorphism independent of basis.
@@ -181,6 +180,7 @@ protected irreducible_def det : (M →ₗ[A] M) →* A :=
   else 1
 #align linear_map.det LinearMap.det
 
+open scoped Classical in
 theorem coe_det [DecidableEq M] :
     ⇑(LinearMap.det : (M →ₗ[A] M) →* A) =
       if H : ∃ s : Finset M, Nonempty (Basis s A M) then
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

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

Diff
@@ -2,11 +2,6 @@
 Copyright (c) 2019 Johannes Hölzl. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johannes Hölzl, Patrick Massot, Casper Putz, Anne Baanen
-
-! This file was ported from Lean 3 source module linear_algebra.determinant
-! leanprover-community/mathlib commit bd65478311e4dfd41f48bf38c7e3b02fb75d0163
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.LinearAlgebra.FiniteDimensional
 import Mathlib.LinearAlgebra.GeneralLinearGroup
@@ -15,6 +10,8 @@ import Mathlib.Tactic.FieldSimp
 import Mathlib.LinearAlgebra.Matrix.NonsingularInverse
 import Mathlib.LinearAlgebra.Matrix.Basis
 
+#align_import linear_algebra.determinant from "leanprover-community/mathlib"@"bd65478311e4dfd41f48bf38c7e3b02fb75d0163"
+
 /-!
 # Determinant of families of vectors
 
chore: remove superfluous parentheses in calls to ext (#5258)

Co-authored-by: Xavier Roblot <46200072+xroblot@users.noreply.github.com> Co-authored-by: Joël Riou <joel.riou@universite-paris-saclay.fr> Co-authored-by: Riccardo Brasca <riccardo.brasca@gmail.com> Co-authored-by: Yury G. Kudryashov <urkud@urkud.name> Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Jeremy Tan Jie Rui <reddeloostw@gmail.com> Co-authored-by: Pol'tta / Miyahara Kō <pol_tta@outlook.jp> Co-authored-by: Jason Yuen <jason_yuen2007@hotmail.com> Co-authored-by: Mario Carneiro <di.gama@gmail.com> Co-authored-by: Jireh Loreaux <loreaujy@gmail.com> Co-authored-by: Ruben Van de Velde <65514131+Ruben-VandeVelde@users.noreply.github.com> Co-authored-by: Kyle Miller <kmill31415@gmail.com> Co-authored-by: Heather Macbeth <25316162+hrmacbeth@users.noreply.github.com> Co-authored-by: Jujian Zhang <jujian.zhang1998@outlook.com> Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>

Diff
@@ -555,7 +555,7 @@ theorem is_basis_iff_det {v : ι → M} :
     set v' := Basis.mk hli hspan.ge
     rw [e.det_apply]
     convert LinearEquiv.isUnit_det (LinearEquiv.refl R M) v' e using 2
-    ext (i j)
+    ext i j
     simp
   · intro h
     rw [Basis.det_apply, Basis.toMatrix_eq_toMatrix_constr] at h
@@ -610,7 +610,7 @@ theorem Basis.det_comp_basis [Module A M'] (b : Basis ι A M) (b' : Basis ι A M
     b'.det (f ∘ b) = LinearMap.det (f ∘ₗ (b'.equiv b (Equiv.refl ι) : M' →ₗ[A] M)) := by
   rw [Basis.det_apply, ← LinearMap.det_toMatrix b', LinearMap.toMatrix_comp _ b, Matrix.det_mul,
     LinearMap.toMatrix_basis_equiv, Matrix.det_one, mul_one]
-  congr 1; ext (i j)
+  congr 1; ext i j
   rw [Basis.toMatrix_apply, LinearMap.toMatrix_apply, Function.comp_apply]
 #align basis.det_comp_basis Basis.det_comp_basis
 
chore: make ι an explicit arg of AlternatingMap.constOfIsEmpty (#4510)

Forward-port leanprover-community/mathlib#19123

Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johannes Hölzl, Patrick Massot, Casper Putz, Anne Baanen
 
 ! This file was ported from Lean 3 source module linear_algebra.determinant
-! leanprover-community/mathlib commit b1c23399f01266afe392a0d8f71f599a0dad4f7b
+! leanprover-community/mathlib commit bd65478311e4dfd41f48bf38c7e3b02fb75d0163
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -539,7 +539,7 @@ theorem Basis.det_self : e.det e = 1 := by simp [e.det_apply]
 #align basis.det_self Basis.det_self
 
 @[simp]
-theorem Basis.det_isEmpty [IsEmpty ι] : e.det = AlternatingMap.constOfIsEmpty R M 1 := by
+theorem Basis.det_isEmpty [IsEmpty ι] : e.det = AlternatingMap.constOfIsEmpty R M ι 1 := by
   ext v
   exact Matrix.det_isEmpty
 #align basis.det_is_empty Basis.det_isEmpty
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
@@ -65,7 +65,6 @@ variable {A : Type _} [CommRing A]
 
 variable {m n : Type _} [Fintype m] [Fintype n]
 
-set_option synthInstance.etaExperiment true in
 /-- If `R^m` and `R^n` are linearly equivalent, then `m` and `n` are also equivalent. -/
 def equivOfPiLEquivPi {R : Type _} [CommRing R] [Nontrivial R] (e : (m → R) ≃ₗ[R] n → R) : m ≃ n :=
   Basis.indexEquiv (Basis.ofEquivFun e.symm) (Pi.basisFun _ _)
@@ -126,7 +125,6 @@ theorem det_toMatrix_eq_det_toMatrix [DecidableEq κ] (b : Basis ι A M) (c : Ba
     rw [Basis.toMatrix_mul_toMatrix, Basis.toMatrix_self]
 #align linear_map.det_to_matrix_eq_det_to_matrix LinearMap.det_toMatrix_eq_det_toMatrix
 
-set_option synthInstance.etaExperiment true
 
 /-- The determinant of an endomorphism given a basis.
 
@@ -368,7 +366,6 @@ theorem bot_lt_ker_of_det_eq_zero {𝕜 : Type _} [Field 𝕜] [Module 𝕜 M] {
 
 end LinearMap
 
-set_option synthInstance.etaExperiment true
 
 namespace LinearEquiv
 
@@ -399,7 +396,6 @@ theorem det_trans (f g : M ≃ₗ[R] M) :
   map_mul _ g f
 #align linear_equiv.det_trans LinearEquiv.det_trans
 
--- Porting note: The lint can't use `synthInstance.etaExperiment`.
 @[simp, nolint simpNF]
 theorem det_symm (f : M ≃ₗ[R] M) : LinearEquiv.det f.symm = LinearEquiv.det f⁻¹ :=
   map_inv _ f
@@ -478,12 +474,6 @@ theorem LinearEquiv.coe_ofIsUnitDet {f : M →ₗ[R] M'} {v : Basis ι R M} {v'
   rfl
 #align linear_equiv.coe_of_is_unit_det LinearEquiv.coe_ofIsUnitDet
 
--- Porting note: The next line should be deleted in future.
--- The problem here is a slow `isDefEq` problem:
--- [Meta.isDefEq] [8.157421s] ✅ Matrix.det
---       (↑(LinearMap.toMatrix (FiniteDimensional.finBasis 𝕜 M) (FiniteDimensional.finBasis 𝕜 M))
---         f) =?= Matrix.det (↑(LinearMap.toMatrix ?b ?b) ?f) ▶
-set_option maxHeartbeats 300000 in
 /-- Builds a linear equivalence from a linear map on a finite-dimensional vector space whose
 determinant is nonzero. -/
 @[reducible]
feat: port LinearAlgebra.Determinant (#3694)

Co-authored-by: int-y1 <jason_yuen2007@hotmail.com> Co-authored-by: Komyyy <pol_tta@outlook.jp> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Ruben Van de Velde <65514131+Ruben-VandeVelde@users.noreply.github.com> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>

Dependencies 10 + 612

613 files ported (98.4%)
258541 lines ported (98.7%)
Show graph

The unported dependencies are